我想获取listview中所选项目的currant文本颜色,然后相应地编码。任何人都可以帮助我
fieldlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
informationType = fieldlist.getItemAtPosition(position).toString().replace(" ", "");
答案 0 :(得分:0)
您可以使用 getCurrentTextColor()
找到文字颜色代表: -
textviewname.getCurrentTextColor();
答案 1 :(得分:0)
第一个我建议您使用RecyclerView而不是ListView。但是对于ListView,您可以通过以下方式获取当前文本颜色。
在适配器中
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Your logic to getView
convertView.setTag(yourTextView.getCurrentTextColor();)
return convertView;
}
然后在OnitemClickListener
fieldlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
informationType = fieldlist.getItemAtPosition(position).toString().replace(" ", "");
int currentTextColor = view.getTag();
}
}
答案 2 :(得分:0)
更新
public class ListItemClickNotifier {
void onListItemClick(int colorCode);
}
`ListItemClickNotifier listClickListener = new ListItemClickNotifier(
@Override
onListItemClick(int colorCode) {
if (colorCode == Color.Green) {
// Do your stuff here.
}
});`
在初始化适配器时将此接口作为对象传递。如下所示。
MyAdapter adapter = new MyAdapter(context, arraylist, listClickListener);
在适配器类中创建ListItemClickListener的全局对象,并通过构造函数将传递的对象复制到其中,如下所述。
private ListItemClickNotifier mListClickListener;
public MyAdapter(Context context, ArrayList arrayList, ListItemClickNotifier listClickListener) {
mListClickListener = listClickListener;
}
在getView方法中为适配器中的视图创建一个单击侦听器,如下所示。
@覆盖 public View getView(int position,View convertView,ViewGroup parent){ ViewHolder holder = null; if(convertView == null){ convertView = mInflater.inflate(R.layout.my_layout,null); holder = new ViewHolder(); holder.textView =(TextView)convertView.findViewById(R.id.tv); convertView.setTag(保持器); } else { holder =(ViewHolder)convertView.getTag(); } convertView.setOnClickListener(new OnClickListener {
@Override
public void Onclick(View view) {
mListClickListener.onListItemClick(holder.textView.getCurrentTextColor());
}
});
return convertView;
}