1
我遇到問題。ExpandableListView交換問題
在我的ExpandableListView中,我有2個編輯文本框。當我在其中一個edittext框中粘貼文本時,它會被交換。
爲什麼這麼.. ??
在此先感謝。
下面的類是主要活動的子類。 str在Activity類中聲明。在觸摸一個editText子元素時,它會粘貼到另一個編輯文本子元素,而不是被點擊的元素。
class ExAdapter extends BaseExpandableListAdapter {
private Context context;
int width;
int j=0;
EditText editFName;
String str_fname="";
String str_lname="";
final String arrGroupelements[] =
{
"Name",
"PhoneNo",
};
final String arrChildelements[][] =
{
{
"FirstName",
"LastName"
},
{
"Mobile",
"Work",
"Home"
}
};
final String arrChildhintelements[][] =
{
{
"FirstName",
"LastName"
},
{
"Mobile",
"Work",
"Home"
}
};
public ExAdapter(Context context, int width) {
this.context = context;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return arrChildelements[groupPosition][childPosition];
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return 0;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView,
ViewGroup parent) {
if(convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.name_child, null);
}
TextView txtFName = (TextView) convertView.findViewById(R.id.txtFname);
txtFName.setText(arrChildhintelements[groupPosition][childPosition]);
editFName = (EditText) convertView.findViewById(R.id.editFName);
editFName.setHint(arrChildhintelements[groupPosition][childPosition]);
editFName.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
editFName.setText(str);
return true;
}
});
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
請粘貼你的代碼,這樣我們可以找出原因,否則會刺在黑暗中。 – kosa 2012-01-07 12:23:44