Android 更改listView中所选项目的文本颜色
您好,我想知道如何更改ListView上所选项目的文本颜色? 我有一个片段是ListView,我想在用户单击某个项目时更改颜色文本。我在onListItemClick()函数上尝试了一些东西,但它不起作用Android 更改listView中所选项目的文本颜色,android,Android,您好,我想知道如何更改ListView上所选项目的文本颜色? 我有一个片段是ListView,我想在用户单击某个项目时更改颜色文本。我在onListItemClick()函数上尝试了一些东西,但它不起作用 你能帮我吗?正如你提到的,你已经创建了android:textColor=“@drawable/button\u text”。让你的按钮文本像这样 / 在Java代码中使用view.setSelected(true) 在mclick()方法中使用它 listView.setOnItem
你能帮我吗?正如你提到的,你已经创建了
android:textColor=“@drawable/button\u text”
。让你的按钮文本像这样
/
在Java代码中使用view.setSelected(true)
在mclick()方法中使用它
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
view.setSelected(true);
}
});代码>公共类TripAdapter扩展了RecyclerView.Adapter{
private Context mContext;
private List<A> avList = new ArrayList<>();
}显示您尝试过的代码,请尝试this@SAM我尝试在drawable中创建一个名为button_text的xml,如示例所示,并将其放入我的listView.xml中,该android:textColor=“@drawable/button_text”
,但不起作用
private Context mContext;
private List<A> avList = new ArrayList<>();
private int mSelectedPosition = -1;
class MyViewHolder extends RecyclerView.ViewHolder {
Button btnOpen;
TextView tvearn;
MyViewHolder(View view) {
super(view);
btnOpen = view.findViewById(R.id.btn_open);
tvearn = view.findViewById(R.id.tv_earn);
}
}
public TripAdapter(Context context, List<A> avList) {
mContext = context;
this.avList = avList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView =LayoutInflater.from(parent.getContext()).inflate(R.layout.one_way_list_item, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(ViewHolderInsurer holder, @SuppressLint("RecyclerView") final int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mSelectedPosition = position;
notifyDataSetChanged();
}
});
if (mSelectedPosition == position) {
holder.tvearn.setTextColor("#ffffff");
} else {
holder.radioButton.setTextColor("#000000");
}
}
@Override
public int getItemCount() {
return avList.size();
}