onClick Childlist on ExpandableList Android

血红的双手。 提交于 2019-12-25 16:39:30

问题


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);
    }
}

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..


回答1:


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 ?

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



来源:https://stackoverflow.com/questions/22753389/onclick-childlist-on-expandablelist-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!