0
여기 API 데모에서 본 것을 기반으로하는 baseadapter가 있습니다. 나는 목록에서 항목을 동적으로 추가/제거하려고합니다.이 경우 단추로 호출 된 의도에서 추가하고 목록보기에서 이미지보기를 클릭하지 마십시오. 그리고이 경우 DATA []에서 항목을 추가/제거 할 것입니다. 저는 SO 및 google에서 다양한 AddItem() 및 Remove() 메소드를 둘러 보았지만 이러한 상황에 대해서는별로 도움이되지 않았습니다. 어떤 도움이라도 좋을 것입니다.사용자 정의 baseadapter로 목록에서 항목을 추가/제거하는 방법
public class myActivity extends Activity{
private static final int CONTACT_PICKER_RESULT = 1001;
private static final String TAG = myActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView lv = (ListView)findViewById(R.id.listView1);
lv.setAdapter(new myAdapter(this));
Button bAdd = (Button)findViewById(R.id.bAdd);
bAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
........xxxx....xxxx....
}
public class myAdapter extends BaseAdapter{
private LayoutInflater mInflater;
public myAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return DATA.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.row,null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.txtTitle);
holder.icon = (ImageView) convertView.findViewById(R.id.imgIcon);
convertView.setTag(holder);
} else {
// Get the ViewHolder back to get fast access to the TextView
// and the ImageView.
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(DATA[position]);
holder.icon.setImageResource(android.R.drawable.ic_delete);
return convertView;
}
}
static class ViewHolder {
TextView text;
ImageView icon;
}
//this will not be hard-coded, jsut included for clarity
private static final String[] DATA ={
"one","two","three" };
예! arraylist를 사용하는 것은 확실히 길이었습니다. 이것과 결합하여 http://stackoverflow.com/questions/7057845/save-arraylist-to-sharedpreferences가 해결되었습니다. 고맙습니다! – benbeel