我使用了自定義行至極一個ListView中有2個TextViews。我已經制作了自己的適配器,並且它與我的列表正常工作。現在,我希望用戶輸入2個文本,然後在我的ListView中插入一個新行(用戶輸入)。我試着用add方法,但我得到UnsupportedOperationException。我是否也必須重寫add方法?如果是的話,我需要做些什麼?謝謝。如何修改幾個textviews同一行一個ListView
我要粘貼代碼的片段。讓我知道你是否需要進一步的信息。
public class ChatAdapter extends ArrayAdapter<ChatItems>{
Context context;
int textViewResourceId;
ChatItems[] objects;
public ChatAdapter(Context context, int textViewResourceId,
ChatItems[] objects) {
super(context, textViewResourceId, objects);
this.context = context;
this.textViewResourceId = textViewResourceId;
this.objects = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
ChatHolder holder = null;
if(row == null){
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(textViewResourceId, null);
holder = new ChatHolder();
holder.user = (TextView) row.findViewById(R.id.textUser);
holder.msg = (TextView) row.findViewById(R.id.textText);
row.setTag(holder);
}else
holder = (ChatHolder) row.getTag();
ChatItems items = objects[position];
holder.msg.setText(items.msg);
holder.user.setText(items.user);
return row;
}
static class ChatHolder{
TextView user;
TextView msg;
}
}
public class ChatItems {
String user;
String msg;
public ChatItems(String user, String msg){
this.user = user;
this.msg = msg;
}
}
謝謝您的快速ansers!你們都是對的(Sa Dec)。我正在使用一個簡單的數組而不是ArrayList。一旦改變它正常工作。 – Godraude 2012-07-28 14:52:54