我有一个带有Textview和EditText的列表视图。现在我想获取Textview和EditText的值,我得到TextView的值而不是EditText。它为EditText提供了空白值。
请帮帮我
for (int i = 0; i < list.getCount() ; i++) {
View v = adapter.getView(i, null, null);
ClassA obj = new ClassA ();
obj = (ClassA) v.getTag();
String Text = obj.edittext1.getText().toString();
}
答案 0 :(得分:1)
我认为你在editText没有值的时候设置了监听器。
而不是将editText发送到Listner,然后从editText中提取值。
OnItemSelectedListener(new CustomListener(editText));
public class CustomListener implements OnItemSelectedListener
{
private EditText editText;
public CustomListener(EditText editText)
{
this.editText=editText;
}
onItemSelect(..)
{
Log.v("TAG",editText.getText().toString);
}
}
在你的主类中添加一个
ArrayList<EditText> editTextList=new ArrayList<EditText>();
和此editTextList的setter方法
public setEditTextList(EditText editText)
{
this.editTextList.add(editText);
button.setOnClickListener(new OnClickListener(){
onClick()
{
for(EditText editText:editTextlist)
{
Log.v("TAG",editText.getText().toString());
}
}
});
}
在适配器中生成一个视图时,添加editText此视图,但要在构造函数中发送Main活动对象。 像
private MainActivity mainActivity;
CustomAdapter(MainActivity mainActivity)
{
this.mainActivity=mainActivity;
}
现在在适配器中设置editView后
{
mainActivity.setEditTextList(holder.editText);
}