【问题标题】:Customise ListView (Multiple Choices)自定义ListView(多选)
【发布时间】:2016-01-05 19:58:39
【问题描述】:

我正在尝试通过多种选择更改 ListView 的文本颜色。我发现了很多关于它的问题,但大多数答案都建议创建一个 TextView 布局并将其分配给适配器作为解决方案。当我这样做时,复选框消失。

adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_multiple_choice, countries);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView.setAdapter(adapter);

main_activity.xml

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/listView"
    android:scrollbarThumbVertical="@drawable/scroll"
    />

【问题讨论】:

    标签: android listview android-listview


    【解决方案1】:

    您可以覆盖 arrayAdapter 中的 getView 方法并像这样设置文本颜色。

    ArrayAdapter<String> list = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, countries) {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View v = converteView; 
                if(v = null)
                    v = LayoutInflater.from(YourActivity.this).inflate(android.R.layout.simple_list_item_multiple_choice, null);
    
                TextView tv = (TextView) v.findViewById(android.R.id.text1);
                tv.setTextColor("Your_color");
    
                return v;
            }
        };
    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    listView.setAdapter(adapter);
    

    【讨论】:

    • 感谢您的回答。文字消失。日志中没有错误,也没有任何文字。
    【解决方案2】:

    我为其他有同样问题的人发布此信息。我只是稍微修改了 Yaw Asare 的答案,它起作用了:

    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, countries){
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
    
    
            View view = super.getView(position, convertView, parent);
    
            TextView mytextview=(TextView)view;
            mytextview.setTextColor(Color.BLUE);
            mytextview.setTextSize(14);
            // Other code you may want to add
    
            return view;
        }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2021-03-05
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多