2011-07-19 8 views
0

私はアンドロイドタブ付きアプリケーションを持っていて、私のタブの1つは好きなアイテムのリストビューを持つアクティビティです。
ユーザーは、フローのさらに下にあるアクティビティ内のアイテムを追加または削除できます。
問題は、ユーザーが戻ったときにリストをリロードできないことです。 onResumeは呼び出されないので、いつリストをリロードするべきかわかりません。

EDIT

これは、私は、その後の活動を始めている方法です。リストを含むアクティビティがTabActivityではない、と私の問題は、その後の活動ではなく、パラレル1から戻って来ているので タブ付きAndroidアプリケーションでListViewを更新するには?

Intent i = new Intent(this, CargasCadastro.class); 
// Create the view using Group's LocalActivityManager 
Window win = CargasGroup.group.getLocalActivityManager().startActivity("CargasCadastro",i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); 
View guialayout = win.getDecorView(); 
// Again, replace the view 
CargasGroup.group.replaceView(guialayout); 

は文句を言わない仕事をonTabChanged。提案していただきありがとうございます。

+0

onCreateが呼び出されていることを確認しますか?結果のために別のアクティビティを開始しようとしましたか(新しいアクティビティを開始していると思いますか?次に、onActivityResultでリストビューを再作成することができます。 –

+0

主なアクティビティのonResume()の間に、リストの更新を常に呼び出すことが簡単に推測されます。あなたはあなたのタブに連絡があると思っています。最悪の場合は、タブでアクティビティをリロードするだけです。 – blindstuff

答えて

0

私はそれが働いている方法。
自身の内部にアクティビティの静的なパブリックインスタンスを作成しました(ほとんどシングルトンのように)。

public static MyActivity instance; 
... 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    instance = this; 
... 

と、データをリロードしてリストビューを更新するパブリックメソッド。次に、フラックスの低下のアクティビティがこのインスタンスにアクセスし、メソッドを呼び出します。
汚いですが、動作します。

upvoted(クリーナーソリューションを望む)になる限り、自分の答えを受け入れます。

0

アンドロイドでタブアクティビティを実装する方法は複数あります。

異なるタブを処理するさまざまなアクティビティがある場合は、onResumeを受け取る必要がありますが、onTabChanged()メソッドを使用して、選択したタブを追跡し、それに応じてタスクを実行できます。

+0

提案していただきありがとうございます。私の質問に更新情報があるかどうか確認してください。 –

0

リストビューを含むアクティビティでは、onTabChanged()をオーバーライドし、adapter.notifydatasetchanged()またはlistView1.setAdapter(adapter)を呼び出してリストビューをリフレッシュします。

+0

提案していただきありがとうございます。私の質問に更新情報があるかどうか確認してください。 –

+0

アクティビティのonRestart()イベントをオーバーライドしてみてください。これは、ユーザがあなたがやっていることであるアクティビティを再利用した後に呼び出されます。それでも問題が解決しない場合は、onRestoreInstanceState()イベントをオーバーライドすることもできます。詳細については、[ここ](http://developer.android.com/reference/android/app/Activity.html#onRestart())をクリックしてください。 –

+0

両方でLog.dを使用してログを試みましたが、成功しませんでした。 –

0

ActivityGroupに現在のアクティビティを変更することをお勧めします。

+0

アクティビティグループ内の別のグループですか? –

+0

ああ、私の神様、私は間違った窓で答えていました。私も同じような質問を投稿していました。 – Rovin

関連する問題