您好我在listview中使用了冻结概念, 行包含Textview和编辑文本,如果我更改任何编辑文本它应该更新其他列Textview是否可能? Currenly我正在使用https://github.com/InQBarna/TableFixHeaders Android库
这是我的适配器类:
当我在edittext中更改年龄时,我需要根据年龄输入更改高度。
public class FamilyNexusAdapter extends BaseTableAdapter {
private final int[] widths = { 100, 100, 100 };
private final float density;
private Vector<ProductMasterBO> items;
public FamilyNexusAdapter(Context context, Vector<ProductMasterBO> items) {
density = context.getResources().getDisplayMetrics().density;
this.items = items;
}
@Override
public int getRowCount() {
return this.items.size();
}
@Override
public int getColumnCount() {
return 3;
}
@Override
public View getView(final int row, int column, View convertView,
ViewGroup parent) {
String headerString[] = { "column 1", "column 2", "column 3",
};
if (row == -1) {
convertView = getLayoutInflater().inflate(
R.layout.item_table_header_first, parent, false);
((TextView) convertView.findViewById(R.id.product_name))
.setText(headerString[column + 1]);
} else{
user= (UserMaster) items.get(row);
if(column==-1){
txt=user.getuserName();
((TextView) convertView.findViewById(R.id.user_name))
.setText(headerString[column + 1]);
}else if(column==1){
txt=user.getage()+"";
EditText age = (EditText) convertView
.findViewById(R.id.age);
age.setText(txt);
age .addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
String ageString= s.toString();
if (!qty.equals("")) {
}}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
//i want to handle when i am trying to change age height should be change
}
});
}else if(column==2){
txt=user.getheight()+"";
((TextView) convertView.findViewById(R.id.user_name))
.setText(txt);
}
return convertView;
}
答案 0 :(得分:0)
使用viewHolder
模式并设置tag
的{{1}}属性以引用EditText
。