[英]ListView OnClickItems change item color in Android
public class MainActivity extends AppCompatActivity {
ListView list_view;
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list_view = (ListView) findViewById(R.id.list_views);
list.add("Data 1");
list.add("Data 2");
list.add("Data 3");
list.add("Data 4");
list.add("Data 5");
adapter =new ArrayAdapter<String>(this, R.layout.list_item,list);
list_view.setAdapter(adapter);
list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int i, long l) {
v.setBackgroundColor(Color.RED);
}
});
}
}
將當前應用的顏色保存在變量中。
int currentColor = Color.white; // make this a class variable
int color = currentColor == white ? Color.RED : Color.Blue;
v.setBackgroundColor(color);
PS這是一個偽代碼,只是為了解釋這個想法
有幾種方法可以實現這一點,最簡單的一種是您可以在應用紅色之前在 if 條件下檢查背景顏色
list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int i, long l) {
if (R.color.blue === ((ColorDrawable) v.getBackground()).getColor()) {
v.setBackgroundColor(Color.RED);
}else{
v.setBackgroundColor(Color.BLUE);
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.