如何使用android系统中的基础适配器来获得定制的列表视图中的数组列表中的所有编辑文本值 [英] how to get all edit text values in array list in customized listview using base adapter in android
问题描述
我是通过URL获取从服务器数据库中的所有menunames我使用追加基地适配器的所有menunames到editext定制列表视图。现在我越来越EDITTEXT改变值到列表数组。现在我想要存储的EditText所有值,不管他变menunames或not.Eg:x,yz ... menunames从数据库来追加到editext现在我改变菜单名称ÿ到b和Z在editext.now C I希望[X,BC ..] vaules数组列表中,但现在我得到b,C
I am fetching all menunames from server database through url i append all menunames into editext customized listview using base adapter. now i am getting Edittext changed values into list array .now i want store edittext all values, whether he changes menunames or not.Eg:x,yz... menunames coming from database append to the editext now i am changed menuname y to b and z to c in editext.now i want [x,b.c...] vaules in arraylist but now i am getting b,c
this is my code
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.editmainmenulist, null);
holder.caption = (EditText) convertView
.findViewById(R.id.editmaimenu);
holder.caption1=(ImageView) convertView.findViewById(R.id.menuimage);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//Fill EditText with the value you have in data source
holder.caption.setText(itemnames[position]);//here only i append database menunames
holder.caption.setId(position);
holder.caption1.setImageBitmap(bmps[position]);
//we need to update adapter once we finish with editing
holder.caption.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus){
final int position = v.getId();
final EditText Caption = (EditText) v;
itemnames[position] = Caption.getText().toString();
arr.add(Caption.getText().toString());//here only i think problem..please see any body can tell what i have mistake has been done
}
}
});
return convertView;
}
}
class ViewHolder {
EditText caption;
ImageView caption1;
}
class ListItem {
String caption;
}
我想在editext值是否更改或不是所有的EditText值。为更新purpous。
我可以得到所有menunames previous。我想更新旧menunames到新的menunames
i want all edittext values in whether the editext values change or not. for update purpous. i can get all menunames previous . i want update old menunames into new menunames
推荐答案
添加 TextChangedListener
你的的EditText
在 getView()
code:
holder.caption.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s)
{
// TODO Auto-generated method stub
String data = holder.caption.getText().toString().trim();
}
});
现在从EditText上获取数据,当你想,onTextChanged,beforeTextChanged或afterTextChanged ..
Now get the data from edittext when you want, onTextChanged, beforeTextChanged or afterTextChanged..
这篇关于如何使用android系统中的基础适配器来获得定制的列表视图中的数组列表中的所有编辑文本值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!