Change text color of list items in array adapter(更改数组适配器中列表项的文本颜色)
本文介绍了更改数组适配器中列表项的文本颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了一个列表视图,并在我的自定义对话框中实现了该列表视图。该列表视图使用数组适配器,而在我的数组适配器中,我使用自己的布局和所需的颜色。代码如下所示。 listView = new ListView(context);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(Loged.this,
R.layout.my_spinner_layout, items);
listView.setAdapter(adapter);
在此处,单击"我的列表项目工作正常"的监听程序。
问题现在开始。我需要在我的自定义警报对话框内的列表视图,每一行都包含一个单选按钮。我也用同样的方法。以下是我的代码。
listView = new ListView(context);
ArrayAdapter<String>adapter = new ArrayAdapter<String>(context,R.layout.my_single_choice_layout, choice);
listView.setAdapter(adapter);
此处可以同时选中所有单选按钮。我的监听程序工作不正常。
My_SPINER_Layout_XML
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
style="@style/ListItemTextColor"
/>
和My_Single_Choose_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/my_choice_radio"
android:layout_height="match_parent"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:text="Option"
style="@style/ListItemTextColor" >
</RadioButton>
推荐答案
试试:
list.setAdapter(new EfficientAdapter(context,R.layout.my_single_choice_layout, choice));
然后创建一个类
public class EfficientAdapter extends ArrayAdapter {
private LayoutInflater mInflater;
private String[] mStrings;
private int mViewResourceId;
public EfficientAdapter(Context ctx, int viewResourceId,String[] strings) {
super(ctx, viewResourceId, strings);
mInflater = (LayoutInflater)ctx.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
mStrings = strings;
mViewResourceId = viewResourceId;
}
@Override
public int getCount() {
return mStrings.length;
}
@Override
public String getItem(int position) {
return mStrings[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = mInflater.inflate(mViewResourceId, null);
convertView.setMinimumHeight(132);
TextView tv = (TextView)convertView.findViewById(R.id.option_text); //Give Id to your textview
tv.setText(mStrings[position]);
tv.setTextColor(Color.RED);
RadioButtons r=(RadioButtons)convertview.findviewById(Radio button id);
r.setOnCheckedListener(new ur listener()
{
/////////Do whatever you wanna do overhere
});
return convertView;
}
}
希望它能有所帮助。
这篇关于更改数组适配器中列表项的文本颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:更改数组适配器中列表项的文本颜色


猜你喜欢
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- android 4中的android RadioButton问题 2022-01-01