繁体   English   中英

如何在项目单击侦听器之外初始化textviews

[英]How to initialize textviews outside the item click listener

我只是想基于JSON结果更改textview颜色,当statusspp为SPP时textview颜色为RED,而s​​tatusspp为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM