【发布时间】:2012-01-07 11:40:43
【问题描述】:
我有问题。
在我的 ExpandableListView 中,我有 2 个编辑文本框。当我将文本粘贴到其中一个编辑文本框中时,它会被交换。
为什么……??
提前致谢。
下面的类是主要活动的子类。 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;
}
}
【问题讨论】:
-
请粘贴您的代码,这样我们才能找出原因,否则会被刺伤。
标签: android expandablelistview android-edittext