我正在使用expandableList,每个孩子都有自己的edittext来输入一个数字...当按下孩子时,edittext会显示。如果不是,则编辑文本保持不可见..问题是当我按下孩子" A",其他一些孩子(例如孩子" L"和" Z&#34 ;)还显示edittext ...这是我在主要活动中的代码:
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,因为我不再使用了它...当我点击时,我通过敬酒孩子和小组位置做了一个简单的研究......你知道什么......孩子和小组的位置每次我向上或向下滚动时随机改变 希望有人帮助:)非常感谢..
答案 0 :(得分:0)
很抱歉,如果我的回答是愚蠢的:快速查看您的程序会显示您使用==
和!=
来表示Java String。据我所知,这不适用于Java 6。 Java 7?
请考虑使用string1.equals(string2)
,这可能有所帮助。