У меня проблема.
В моем 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;
}
}