2012-05-01 10 views
3

私は3つのアクティビティと1つのクラスを持っています。別のアクティビティからリストをリフレッシュ

MobilEpostaActivity(主な活動は)ListeleActivity(リストビューを記入し、表示する)にGmailのサーバーの意図から件のデータにこれらの件のデータを与え、ListeleActivityは、リストビューにこれらの件のデータを記入し、時にアイテムのonClickリストビューの項目のクリック件のデータGoruntuleActivity(onclickアイテムの情報を表示すること)を意図しています。また、私はクラス "Baglantı"(接続を意味する)を持っており、それぞれに必要な他のすべての方法があります。

私の問題はここにあります:ユーザーが「削除」ボタンをクリックしたとき。私はリストビューをリフレッシュし、ユーザへの次のメールを表示したい。ユーザーが削除ボタンをクリックすると、次のメールに1を加えてその位置に表示して表示することができます。しかし、それは正常に動作していません..その添付ファイルのために複雑です。

MobilEpostaActivity; ユーザーからユーザー名とパスワードを取得し、サーバーへの接続のためにBaglantıクラスに渡しています。 私はarraylistsの対象から、結果のボディを取得しています。 そしてIはバンドルとMobilEpostaActivityから件のデータを取得する意図ListeleActivity(IN

public void epostaListeleme() throws MessagingException, IOException 
    { 
     final Intent intent = new Intent(this, ListeleActivity.class); 
     intent.putStringArrayListExtra(bodylistesi ,(ArrayList<String>) getBodyList()); 
     intent.putStringArrayListExtra(konulistesi ,(ArrayList<String>) getKonuList()); 
     intent.putStringArrayListExtra(kimdenlistesi ,(ArrayList<String>) getKimdenList()); 
     startActivity(intent); 
     } 

) とから、これらの身体を通過しListeleActivityを受けます。 "from"データでlistviewを埋めます。 そして、listItemOnClickを待っています。 Onclickアクションが発生した場合は、データをGoruntuleActivityに渡します。

In the GoruntuleActivity() ListeleActivity with Bundleからデータを取得する。 削除ボタンOnClickを待っている(ここでは重要な部分です)。 OnClickアクションが発生した場合は、まずリストビューから位置を削除します。

arrayAdapter.remove(arrayAdapter.getItem(position)); 
listBaglanti.RefreshedPositions(position); 
arrayAdapter.notifyDataSetChanged(); 

SECOND)バディリスト、fromlistとsubjectlist

public void RefreshedPositions(int position) 
{ 
    list.remove(list.get(position)); 
    kimdenlist.remove(kimdenlist.get(position)); 
    konulist.remove(konulist.get(position)); 
} 

THIRD)配列リストにこれらの "変更" リストを保持からの位置の件のデータを削除します。 MobilEpostaActivityの意図(ListeleAcitivityのの1にこれらの "変更" のリストを設定し

bodylistRefresh = baglan.list; 
kimdenlisteRefresh = baglan.kimdenlist; 
konulisteRefresh = baglan.konulist; 

FOURTH))

  • あなたがプロセスをやり直すべきだと思いとして

    MobilEpostaActivity mobilObject = new MobilEpostaActivity(); 
    mobilObject.setKonuList(konulisteRefresh); 
    mobilObject.setKimdenList(kimdenlisteRefresh); 
    mobilObject.setBodyList(bodylistRefresh); 
    
    。しかし、それはあなたがListViewのためのリフレッシュを作ったので、私は考えていないので、第四ステップで開始されません。

多分私は難しい道を行くでしょう。しかし、私は、リストビューをリフレッシュし、次のメールを表示するための正しいことを教えてください。私のスクリーンショットも。

初めてアプリケーションを開く:Merveから3つのメールがあります。体位:0,1,2 enter image description here

後削除]ボタンをクリックしてください:ListViewコントロールはrefresと= 1の項目が削除された位置です。 GoruntuleActivityの画面では削除されません。

enter image description here

答えて

1

あなたが関与してあまりにも多くのリストを持っているように見えます。

arrayAdapter.remove(position); 
listBaglanti.RefreshedPositions(position); 
arrayAdapter.notifyDataSetChanged(); 

public void RefreshedPositions(int position) 
{ 
    list.remove(position); 
    kimdenlist.remove(position); 
    konulist.remove(position); 
} 

だけではなく、取得してからオブジェクトを除去するint値としての地位を渡す:私はあなたがそうは以下のようにちょうどメインリストから項目を削除することができるはずだと思います。

関連する問題