2012-11-01 25 views
0

我有一個ArrayList我從這個發送項目onItemClick在另一項活動: -如何從ArrayList中刪除另一項活動中的項目並更新之前的活動?

list.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, 
       int position, long arg3) { 
      Intent i = new Intent(MessageEmail.this, MessageByMessage.class); 
      i.putExtra("msg_title", unreadMsgList.get(position).address); 
      i.putExtra("full_msg", 
        unreadMsgList.get(position).unreadMessage); 
      i.putExtra("pos", position); 
      startActivity(i); 
      finish(); 

     } 
    }); 

&得到另一個活動上的文本&一套從這個: -

title=getIntent().getExtras().getString("msg_title"); 
    message=getIntent().getExtras().getString("full_msg"); 
    position=getIntent().getExtras().getInt("pos"); 
    title_txt.setText(title); 
    msg_txt.setText(message); 

現在問題是,我在這個活動中有一個刪除按鈕。 我想刪除按鈕上的項目點擊&將開啓我的第一個活動哪裏應該刷新列表。 在此先感謝! Deepanker

回答

1

使用StartActivityForResult(yourIntent,YOUR_REQUEST_CODE);並在onActivityResult

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 
    switch(requestCode) 
    { 
     case YOUR_REQUEST_CODE: 
      if(resultCode == RESULT_OK) 
       yourArrayList.remove(theItemClicked); 
       yourListview.notifySetDataChanged(); 
      break; 

     default: 
      break; 
    } 

} 
在otherActivity

簡單地設置一些導致意圖和完成()Delete(刪除)按鈕的onClick事件該活動。

+0

在第二次活動retoun從我得到的結果ok = -1和我的起始結果代碼是0有什麼問題,所以contion不匹配resultCode == RESULT_OK –

+0

謝謝,我已經這樣做了。 –

2

關於如何在活動之間進行溝通,有一個很好的示例here。基本上,您更新清單中的活動並設置android:launchMode="singleTask"。然後你處理被叫活動的onNewIntent方法。

+0

謝謝!我已經完成了這兩種方法。 –

相關問題