[英]How to initialize textviews outside the item click listener
我只是想基于JSON结果更改textview颜色,当statusspp为SPP时textview颜色为RED,而statusspp为SP2D时textview颜色为绿色。 我的以下代码是在OnclickListener中初始化textview(代码):因此,仅当我必须单击textview时,textview才会更改,这意味着textview在执行该代码时立即更改。
ListAdapter adapter = new SimpleAdapter(this, toiletList,
R.layout.list_view,
new String[]{TAG_NPWP, TAG_STATUSSPP, TAG_TGLSP2D, TAG_JUMLAH}, new int[]{
R.id.name,R.id.latitude, R.id.longitude,R.id.price});
// selecting single ListView item
ListView lv=getListView();
// Memberikan Event Click Listener pada List View
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
TextView name =(TextView) view.findViewById(R.id.name);
String npwp = name.getText().toString();
TextView text =(TextView) view.findViewById(R.id.latitude);
String statusspp = text.getText().toString();
if(statusspp.equals("SPP")){
text.setTextColor(Color.RED);
text.setBackgroundColor(Color.RED);}//to change background}
else if(statusspp.equals("SP2D")){
text.setTextColor(Color.GREEN);
text.setBackgroundColor(Color.GREEN);}//to change background}
TextView tgl =(TextView) view.findViewById(R.id.longitude);
String tglsp2d = tgl.getText().toString();
TextView jml =(TextView) view.findViewById(R.id.price);
String jumlahtotal = jml.getText().toString();
您应该为ListView
创建一个自定义Adapter
,并在那里进行所需的颜色更改。
我建议您始终使用自定义Adapters
因为它们可以为程序员提供完全控制。
PS-通过自定义适配器,我的意思是,您应该创建自己的Adapter
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.