如何在项目单击侦听器外部初始化文本视图

时间:2016-11-18 02:29:54

标签: android json listview

我只想根据JSON结果更改我的textview颜色,当statusspp是SPP textview颜色是RED时,当statusspp是SP2D时,textview颜色是绿色。 我的代码下面是在OnclickListener中初始化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();

1 个答案:

答案 0 :(得分:0)

您应为Adapter创建自定义ListView,并在那里进行所需的颜色更改。

我建议您始终使用自定义Adapters,因为它们可以为程序员提供完全控制权。

PS-我认为,通过自定义适配器,您应该创建自己的Adapter