昨天我問了這個問題,但是我寫得比我想象的這個問題複雜得多。我很困惑,我在這裏發現了一些非常類似的問題,但他們都沒有解決我的問題。所以我有一個listview,每個listview都包含一個圖像,一個textview和一個edittext,但只有edittext很重要。 如果我點擊textview,我想記錄它的內容進行測試。我的問題是,如果用戶改變它,然後改變我登錄同樣的事情。所以在模擬器中改變它,而不是使用setText,它什麼都不做。我有一個數據庫,在每個listview中都有一個edittext(holder.quant)。如果我改變它,Edittext內容不刷新
類MyAdapter擴展ArrayAdapter {
LayoutInflater inflat;
ViewHolder holder;
public MyAdapter(Context context, int textViewResourceId,
ArrayList<EachRow> objects)
{
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
inflat=LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView==null)
{
convertView=inflat.inflate(R.layout.row_checkox, null);
holder=new ViewHolder();
holder.textView=(TextView)convertView.findViewById(R.id.textView111);
holder.image=(ImageView)convertView.findViewById(R.id.imageView111);
holder.quant = (EditText)convertView.findViewById(R.id.quantity);
holder.image.setOnClickListener(CustomList.this);
convertView.setTag(holder);
}
holder=(ViewHolder) convertView.getTag();
holder.textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView tv = (TextView) v ;
String text_of_clicked_textview = tv.getText().toString();
final String[] ddata = text_of_clicked_textview.split(" "); //split the result using the spaces (so you could obtain the name, hotness and the other string you use)
final long yy = Long.parseLong(ddata[0]);
info.open();
info.updateQuan(yy, holder.quant.getText().toString());
Log.i("tagitagi", holder.quant.getText().toString());
info.close();
}
});
EachRow row= getItem(position);
EachRow row2= getItem2(position);
holder.quant.setText(row2.text);
holder.textView.setText(row.text);
NullPointerException
holder.image.setTag(position);
holder.quant.setTag(position);
return convertView;
}
@Override
public EachRow getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
public EachRow getItem2(int position) {
// TODO Auto-generated method stub
return list2.get(position);
}
private class ViewHolder
{
TextView textView;
ImageView image;
EditText quant;
}
}
private class EachRow
{
String text;
boolean checkBool;
}
我試過addTextChangedListener,但是當我使用的setText它給了我一個錯誤。那麼問題是什麼?
在此先感謝!
Ajcodez,這就是發生在這裏,我不明白你。它在最後一行 – 2012-03-01 20:08:38
問題是當我修改模擬器中的內容並記錄它時,我得到的數據相同 – 2012-03-01 20:15:14
當你改變EditText中的文本並點擊記錄它時,你會得到相同的結果。也許你的持有人有問題? – AJcodez 2012-03-02 05:05:04