1
我有一個自定義的ListView,其中每個項目分爲兩個部分。一個是描述,另一個是刪除按鈕。因此,從我的getView()方法的適配器我設置onClickListener()兩個。如果用戶單擊說明部分那麼它會打開一個新的活動,如果用戶點擊刪除按鈕的列表項被刪除。我的問題是,我無法刷新列表在這之後從ListView刪除項目。我不知道從哪裏以及如何調用適配器中的notifyDataSetChanged(),以便刷新我的列表視圖。如何從自定義適配器調用notifyDataSetChanged()?
我getView適配器()方法是這樣的:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
if (convertView == null) {
LayoutInflater inflator = ((Activity) context).getLayoutInflater();
convertView = inflator.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.listCount = (TextView) convertView
.findViewById(R.id.listCount);
holder.Number = (TextView) convertView
.findViewById(R.id.Value);
holder.journey = (TextView) convertView.findViewById(R.id.journey);
holder.Item = (RelativeLayout) convertView
.findViewById(R.id.Item);
holder.delete = (LinearLayout) convertView
.findViewById(R.id.delete);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
p = getItem(position);
holder.listCount.setText(position + 1 + ".");
holder.Number.setText(p.getNumber());
holder.journey.setText(p.getPoint() + "-" +
p.getUpto());
holder.Item.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Point pp = pLists.get(position);
Intent intent = new Intent(context, abc.class);
Bundle bundle = new Bundle();
bundle.putString("Number", p.getNumber());
bundle.putBoolean("isInDatabase", true);
intent.putExtras(bundle);
context.startActivity(intent);
}
});
holder.delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
new deletingSelected().execute(pLists.get(position).get_id());
}
});
return convertView;
}
該項目得到了通過的OnClick刪除,但我應該在哪裏把代碼notifyDataSetChanged(在這裏)?
請幫
好讓我試試... – user818455
並沒有爲我工作...是別人,我需要做什麼THR? – user818455
啊我需要更新列表以及有元素 – user818455