我正在製作Android應用程序,但我被困在構建列表視圖。 我想通過使用每個列表項目上的刪除按鈕刪除每個項目。我的意思是,如果我按下特定行中的刪除按鈕,應刪除同一行上的列表項。單擊Android ListView中的每個刪除按鈕時出現的事件錯誤
但是,我在這裏有一些錯誤。當我按下視圖上的任何刪除按鈕時,只有視圖上的最後一項被刪除,而不是同一行中的項目。我不知道爲什麼每個刪除按鈕的事件操作僅連接到最後一個項目的ID。
這是我的適配器代碼。
public View getView(int i, View convertView, ViewGroup parent){
if(convertView == null){
convertView = LayoutInflater.from(context).inflate(R.layout.item,null);
viewHolder = new ViewHolder();
viewHolder.nickname_textView = (TextView)convertView.findViewById(R.id.nickname);
viewHolder.content_textView = (TextView)convertView.findViewById(R.id.post_content);
viewHolder.date_textView = (TextView)convertView.findViewById(R.id.date);
viewHolder.company_textView = (TextView)convertView.findViewById(R.id.company);
viewHolder.location_textView = (TextView)convertView.findViewById(R.id.location);
viewHolder.profile_imageView = (ImageView)convertView.findViewById(R.id.imageView);
viewHolder.deleteButton = (Button)convertView.findViewById(R.id.deleteButton);
viewHolder.idHolder_textView = (TextView)convertView.findViewById(R.id.idView);
convertView.setTag(viewHolder);
}
else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.nickname_textView.setText(list_itemArrayList.get(i).getNickname());
viewHolder.content_textView.setText(list_itemArrayList.get(i).getContent());
viewHolder.date_textView.setText(list_itemArrayList.get(i).getWrite_date().toString());
viewHolder.location_textView.setText(list_itemArrayList.get(i).getLocation());
viewHolder.company_textView.setText(list_itemArrayList.get(i).getCompany());
viewHolder.profile_imageView.setImageResource(list_itemArrayList.get(i).getProfile_image());
viewHolder.idHolder_textView.setText(""+list_itemArrayList.get(i).getId());
viewHolder.idHolder_textView.setVisibility(View.INVISIBLE);
viewHolder.deleteButton.setId(list_itemArrayList.get(i).getId());
viewHolder.deleteButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
String sID = viewHolder.idHolder_textView.getText().toString();
long id = Long.parseLong(sID);
UserPosts deletePost = new UserPosts(context);
deletePost.open();
deletePost.deleteItem(id);
deletePost.close();
}
});
return convertView;
}
我不知道爲什麼我的deleteButton.setOnClickListener不能正常工作。 謝謝。
這裏是我的應用程序的截圖 enter image description here
後的logcat請 –
而PLZ更新URS自..use recycleview而不是列表視圖 –
如何使用list_itemArrayList.remove(我),而不是UserPosts裏面你點擊監聽器? – Prexx