사용자 지정 어댑터 (ArrayAdapter)가 있고 코드에 항목을 동적으로 추가하려고합니다.사용자 지정 사용자 지정 어댑터가있는 사용자 지정 ListView에 항목 추가
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class ChatList extends ArrayAdapter<ChatListItem> {
Context context;
int layoutResourceId;
ChatListItem data[] = null;
public ChatList(Context context, int layoutResourceId, ChatListItem[] data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
ChatHolder holder = null;
ChatListItem entry = data[position];
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new ChatHolder();
holder.txtText = (TextView) row.findViewById(R.id.txtText);
holder.txtUser = (TextView) row.findViewById(R.id.txtUser);
holder.txtVersion = (TextView) row.findViewById(R.id.txtVersion);
holder.txtZeit = (TextView) row.findViewById(R.id.txtZeit);
row.setTag(holder);
} else {
holder = (ChatHolder) row.getTag();
}
holder.txtText.setText(entry.text);
holder.txtUser.setText(entry.user);
holder.txtVersion.setText(entry.v);
holder.txtZeit.setText(entry.time);
return row;
}
static class ChatHolder {
TextView txtText;
TextView txtUser;
TextView txtVersion;
TextView txtZeit;
}
}
그리고이 코드에 항목을 추가 할 :
내 ArrayAdapter와는 다음과 같습니다
LoadChatData bdl = new LoadChatData(new OnTaskComplete() {
@Override
public void onTaskCompleted(ChatListItem[] url, int id) {
currid = id;
for (ChatListItem i : url) {
if (chatList != null) {
chatList.add(i);
}
}
}
});
이 할 수있는 방법이 있나요? 문제가 나는이 오류 메시지가 나타납니다.
02-16 11:17:57.287: W/System.err(24997): java.lang.UnsupportedOperationException
02-16 11:17:57.287: W/System.err(24997): at java.util.AbstractList.add(AbstractList.java:404)
02-16 11:17:57.287: W/System.err(24997): at java.util.AbstractList.add(AbstractList.java:425)
02-16 11:17:57.287: W/System.err(24997): at android.widget.ArrayAdapter.add(ArrayAdapter.java:179)
02-16 11:17:57.287: W/System.err(24997): at de.tecfriends.vbtsplash2013.ActivityNewChat$3$1.onTaskCompleted(ActivityNewChat.java:108)
02-16 11:17:57.287: W/System.err(24997): at de.tecfriends.vbtsplash2013.LoadChatData.doInBackground(LoadChatData.java:45)
02-16 11:17:57.287: W/System.err(24997): at de.tecfriends.vbtsplash2013.LoadChatData.doInBackground(LoadChatData.java:1)
02-16 11:17:57.287: W/System.err(24997): at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-16 11:17:57.287: W/System.err(24997): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-16 11:17:57.287: W/System.err(24997): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
02-16 11:17:57.287: W/System.err(24997): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-16 11:17:57.287: W/System.err(24997): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-16 11:17:57.287: W/System.err(24997): at java.lang.Thread.run(Thread.java:856)
'chatList'의 유형은 무엇입니까? – QAMAR
커스텀 ArrayAdapter ChatList입니다. – Styler2go