0

これから別のアクティビティでアイテム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);

問題、このアクティビティに削除ボタンがあることです。ボタンクリックでアイテムを削除したいのですが、リストを更新する最初のアクティビティをオンにします。前もって感謝します!ディーパンカー

4

2 に答える 2

2

ここには、アクティビティ間のコミュニケーション方法に関する良い例があります。基本的に、マニフェストのアクティビティを更新して設定しandroid:launchMode="singleTask"ます。次にonNewIntent、呼び出されたアクティビティのメソッドを処理します。

于 2012-11-01T12:38:22.217 に答える
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では、INTENTにResultを設定し、DeleteボタンのOnClickイベントでそのアクティビティをfinish()するだけです。

于 2012-11-01T12:41:25.130 に答える