-1
我在水平滾動視圖內使用線性佈局來實現水平滑動視圖。在這裏,當我從自定義數組列表中刪除特定項目時,它不會在數組列表中更新。這是我給大家參考代碼:從列表中刪除項目後刷新數組列表
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.send_enquiry);
sharedpreferences = getSharedPreferences("MyPrefs",
Context.MODE_PRIVATE);
message_editText = (EditText) findViewById(R.id.message_editText);
close_button = (ImageView) findViewById(R.id.close_button);
senders_list_row_layout = (LinearLayout) findViewById(R.id.senders_list_row_layout);
messageSize_textView = (TextView) findViewById(R.id.messageSize_textView);
recepients_horizontalScrollView = (HorizontalScrollView) findViewById(R.id.recepients_horizontalScrollView);
attachmentIcon_imageView = (ImageView) findViewById(R.id.attachmentIcon_imageView);
send_button = (Button) findViewById(R.id.send_button);
recepients_relLayout = (RelativeLayout) findViewById(R.id.recepients_relLayout);
successMessage_textView = (TextView) findViewById(R.id.successMessage_textView);
creditsEarned_textView = (TextView) findViewById(R.id.creditsEarned_textView);
messageSent_imageView = (ImageView) findViewById(R.id.messageSent_imageView);
private void sendersList() {
for (int i = 0; i < sendEnquiry.size(); i++) {
senders_list_row_layout.addView(viewSendersList(sendEnquiry.get(i)
.getCpsName(), i));
}
}
private View viewSendersList(String cpsName, final int position) {
LayoutInflater mInflater = (LayoutInflater) getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
final View view = mInflater.inflate(R.layout.send_enquiry_repeat_items,
null);
final TextView sendersName = (TextView) view
.findViewById(R.id.sendersName);
ImageView closeButton_imageView = (ImageView) view
.findViewById(R.id.closeButton_imageView);
sendersName.setText(cpsName);
closeButton_imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(Q2_SendEnquiryActivity.this,
"close button clicked: " + position, Toast.LENGTH_SHORT)
.show();
if (sendEnquiry.size() > 1) {
sendEnquiry.remove(position);
senders_list_row_layout.removeViewAt(position);
Log.i("sendEnquiry list size",
"sendEnquiry list size: " + sendEnquiry.size());
} else {
sendEnquiry.clear();
finish();
}
}
});
return view;
}
}在這個closeButton_imageView.setOnClickListener
在這裏,我除去定製ArrayList中的項目。它的作品第一次正常,但之後,物品的位置不會在從數組列表中刪除物品後更新。它也會拋出StringIndexOutOfBoundsException。
任何人都可以幫助我如何更新customArrayList後刪除它的項目?
喜@Parthiban檢查我的答案。 – arun