【问题标题】:Update EditText in a list view with value from a SeekBar使用 SeekBar 中的值更新列表视图中的 EditText
【发布时间】:2014-07-11 05:11:30
【问题描述】:

我有一个 ListView,每个行项都包含一个 SeekBar 和一个 EditText(如下图所示)。我需要根据搜索栏的值更新 EditText,如果我有两个小部件引用都没有问题,我可以这样做。

我的问题是如何将每个搜索栏关联到其正确的 EditText 框?这两个小部件都是我在适配器中扩展的视图的一部分。直接引用 EditText 似乎不是一个好主意,因为 Android 的视图在 ListView 中回收。

什么是最好的前进方式?

【问题讨论】:

    标签: android android-listview android-edittext


    【解决方案1】:

    当您显示每对 SeekBar 和 editText 时,只需使用

    seekBar.setTag(editText);
    editText.setTag(seekBar);
    

    更新时使用

    seekBar = (SeekBar)editText.getTag();
    seekBar.setProgress(...);
    

    【讨论】:

    • 谢谢。这似乎是最好的解决方案。
    【解决方案2】:

    【讨论】:

    • 这不是我的问题。我面临的问题是 EditText 和 Seekbar 元素都是我在适配器中膨胀的 ListView 中的行项的一部分。我如何获得参考是个问题。
    • 给他们设置id然后引用?你可以发布这部分你的代码吗?
    • 如果视图被回收,引用将失效。
    【解决方案3】:

    OnSeekBarChangeListener 设置为SeekBar,以便在调用OnProgressChanged() 时更改TextView 的文本。在Adapter 中的getView() 中执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多