的onClick的childList上ExpandableList的Andr​​oid [英] onClick Childlist on ExpandableList Android

查看:153
本文介绍了的onClick的childList上ExpandableList的Andr​​oid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用expandableList,每个孩子都有的EditText输入一个数字......当孩子pressed的EditText上表演。如果不是,则停留的EditText invisible..the问题是,当我pressed子A,其他一些孩子的(例如子L和Z)也表现出的EditText ...这里是我的code的主要活动:

i am using expandableList and each child has its edittext to enter a number... when the child is pressed, the edittext shows. if it is not, the edittext stays invisible..the problem is when i pressed child "A", some other childs (for example child "L" and "Z") also show the edittext... here is my code in main activity :

  protected void onCreate(Bundle konsumsi) {
        super.onCreate(konsumsi);
        setContentView(R.layout.konsumsi_user);
        exKonsumsi = (ExpandableListView) findViewById(R.id.EVkonsumsi_user);
        exKonsumsi.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
        prepareListDataKonsumsi();
        exKonsumsiAdapter = new com.ta.helper.ExpandableListAdapterKonsumsi(
                this, listDataHeaderKonsumsiUser, listDataChildKonsumsiUser);
        exKonsumsi.setAdapter(exKonsumsiAdapter);
        kolomTakaran = (TextView) findViewById(R.id.takaran);
        takaran = ExpandableListAdapterKonsumsi.takaran;
        kolomTakaran.setText("" + takaran);
        exKonsumsi.setOnChildClickListener(new OnChildClickListener() {

            @Override
            public boolean onChildClick(ExpandableListView parent, View v,
                    int groupPosition, int childPosition, long id) {
                EditText kolomEditTakaran = (EditText) v
                        .findViewById(R.id.kolomTakaran);
                CheckedTextView listChild = (CheckedTextView) v
                        .findViewById(R.id.lblListItemKonsumsi);
    /*          for (int i = 0; i < listDataHeaderKonsumsiUser.size(); i++) {
                    if (listDataHeaderKonsumsiUser.get(groupPosition) == listDataHeaderKonsumsiUser
                            .get(i)) {
                        int a = listDataChildKonsumsiUser.get(
                                listDataHeaderKonsumsiUser.get(i)).size();
                        for (int j = 0; j < a; j++) {
                            if (listChild.getText().toString() == listDataChildKonsumsiUser
                                    .get(listDataHeaderKonsumsiUser.get(i))
                                    .get(j)) {
                                kolomEditTakaran.setVisibility(v.VISIBLE);
                            }else{
                                kolomEditTakaran.setVisibility(v.INVISIBLE);
                            }
                        }
                    }
                }*/

                return true;
            }
        });
    }

    private void prepareListDataKonsumsi() {
        listDataHeaderKonsumsiUser = new ArrayList<String>();
        listDataChildKonsumsiUser = new HashMap<String, List<String>>();
        Collections.addAll(listDataHeaderKonsumsiUser, getResources()
                .getStringArray(R.array.header_konsumsi_user));
        List<String> daftarMakananTersimpan = new ArrayList<String>();
        List<String> daftarMakanan = new ArrayList<String>();
        Collections.addAll(
                daftarMakanan,
                getResources().getStringArray(
                        R.array.child_konsumsi_user_daftar_makanan));
        Collections.addAll(
                daftarMakananTersimpan,
                getResources().getStringArray(
                        R.array.child_konsumsi_user_daftar_makanan_tersimpan));
        listDataChildKonsumsiUser.put(listDataHeaderKonsumsiUser.get(0),
                daftarMakananTersimpan);
        listDataChildKonsumsiUser.put(listDataHeaderKonsumsiUser.get(1),
                daftarMakanan);
    }
}

和我删除了我expandableadapter因为我不使用它了......我被敬酒的儿童和集团的立场做了一个简单的研究,当我点击......你知道......孩子和组位置随机变化每次我滚动或上下
希望有人帮助:)非常感谢..

and I deleted my expandableadapter because i'm not using it anymore... i made a simple research by toasting the child and group position when i clicked... you know what... the child and group position randomly change everytime i scrolled up or down hope somebody help :) thanks a lot..

推荐答案

很抱歉,如果我的回答是愚蠢的:在你的程序中快速查找表明您使用 == != 用于Java的字符串。这是不应该使用Java 6的工作,据我所知。 Java 7的?

Sorry if my answer is stupid: a quick look on your program shows that you use == and != for Java String. This is not supposed to work with Java 6, as far as I know. Java 7 ?

考虑使用 string1.equals(字符串2)来代替,这可能会有帮助。

Consider using string1.equals(string2) instead, this may help.

这篇关于的onClick的childList上ExpandableList的Andr​​oid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆