【问题标题】:Highlight listView selection background programmatically以编程方式突出显示 listView 选择背景
【发布时间】:2016-03-02 15:01:12
【问题描述】:

我有一个带有简单 ArrayAdapter 的 ListView

dogsList.setAdapter(new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, dogsArray));

如果用户点击一个项目,背景颜色会改变。到目前为止一切都很好。

这是我的问题:当用户返回时,我想预先突出显示最后的选择。我已经尝试了很多方法来预先突出显示其中一个条目,但它不起作用。

假设我知道先前的选择并通过意图或其他方式传递它,例如prev=5。如何突出显示背景?

我正在使用真实设备(注 5)进行测试。我不明白这是否适用:Android ListView programmatic selection/highlight。无论如何,我做到了,但没有成功:没有亮点。

【问题讨论】:

    标签: android android-layout listview


    【解决方案1】:

    也许这会有所帮助

      View row = null;
    
       list_view.post(new Runnable() {
            @Override
            public void run() {
                int nPos = Prev;
    
                list_view.setSelection(nPos);
                View v = list_view.getChildAt(nPos);
                if (v != null) {
                    option_list.performItemClick(v, nPos, list_view.getItemIdAtPosition(nPos));
                    v.requestFocus();
                }
            }
        });
      list_view.setOnItemClickListener(new OnItemClickListener() {
    
            @Override
            public void onItemClick(AdapterView<?> arg0, View v, int position,
                    long arg3) {
                // TODO Auto-generated method stub
    
                 if (row != null) {
                        row.setBackgroundResource(R.color.DarkGray);
                    }
                    row = v;
                    v.setBackgroundResource(R.color.White);
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 2011-01-26
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 2015-12-28
      相关资源
      最近更新 更多