私はアンドロイドスタジオを使って最初のアンドロイドアプリを作っています。このAPPでは、12クラス(12アイテム)のリストビューがあります。 1つのクラスをクリックすると、このクラスの10項目のタブ付きアクティビティに入ります。各タブページには、アイテムを評価させるための評価バーがあります。Androidスタジオ:ListView to Tabbed Activity、タブページの評価バーの評価を保存
私はリストビューのアクティビティと、12のタブ付きアクティビティの12の独立したアクティビティを設定しました。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
if(i==0){
Intent intent = new Intent(ListViewActivity.this, TabbedActivity1.class);
intent.putExtra("styleName", STYLE_NAMES[i]);
intent.putExtra("styleExample",STYLE_EXAMPLES[i]);
startActivity(intent);
}
else if(i==1){
Intent intent = new Intent(ListViewActivity.this, TabbedActivity2.class);
intent.putExtra("styleName", STYLE_NAMES[i]);
intent.putExtra("styleExample",STYLE_EXAMPLES[i]);
startActivity(intent);
}
...... // skip the other 10 tabbed activities.
}
今問題がある:私はタブ付きの活動の評価を終えた後、私はリストビューの活動に戻り、再度、各タブの活動へ]をクリックし、評価されているリストビューから各タブの活動へのコードは次のようです行った。
私のコードでは、アイテムをクリックするたびに新しいタブ付きアクティビティが開きますが、同じレイアウトでも内容は保存されません。
評価を保存するために、ListViewアクティビティで何かを行う必要があるかどうかは疑問でした。関連する質問を検索しましたが、そのシナリオでは、各リスト項目は単純な評価バーであることがわかりました。しかし、ここでは、私のリストアイテムは10個の評価バーを持つタブ付きアクティビティです。
したがって、私はそれをどうするか考えていません。私はアンドロイドスタジオでの経験がないので、どこから問題を解決するかわからない。どんなアイデアもありがとう!ありがとうございました!
は、あなたの答えをいただき、ありがとうございます。しかし、なぜ私のケースではうまくいかないのか分かりません。 2つの問題:1.私は最初に12の活動のための12の活動を設定し、あなたのレーティング検索コードを実装します。しかし、 '' int rating = extras.getInt( "rating") ''は私に '' 0''を返します。 2.私はこれらの12のアクティビティに対して1つのアクティビティを使用し、コードを実装しますが、APPはListViewのアイテムをクリックすると停止します。私は問題が私のタブビューデザインによって引き起こされているかどうか疑問に思っていました。私の場合、各タブアクティビティには10個のビューがあり、それぞれタブページ用であり、評価バーは各ビューに分散されています。 – gladys0313
したがって、12個(タブ付きアクティビティ)* 10個のビュー= 120個のビューなので、120個のレーティングバーがあります。私がタブ付きアクティビティに戻るたびに、10個の評価グレードを取得する必要があります。これが問題の原因だと思いますか? – gladys0313
この例では、各タブアクティビティに1つの評価があると想定しています。 10個の評価を含むモデルを作成できます。 'intent.putExtra(" rating "、ratingBar.getRating());"ここで単一の評価を渡すと、このモデルを渡すことができます。そして、私は 'onDestroy'の前に結果を渡します。あなたは' onBackPressed'でも試してみることができます – santalu