ListViewを使ってアイテムをクリックするとDetail.javaアクティビティが表示され、エクササイズの情報が表示されますが、次のエクササイズに行ってください。私は細部の多くの活動を生み出さなければそれをする考えはありません。ListViewからアクティビティを開始し、次のアクティビティを開始します
答えて
私の知る限りの情報から理解とuが与えた: あなたのオブジェクトが
Using Serializable and Parcelable instructions
を実装する必要がありますシリアライズとParcelableインタフェースを使用して活動の間にオブジェクトを渡すことができますparcelableを使用して、シリアライズArrayList<ModelClass> yourModelList= new ArrayList<Model>(); intent.putExtra("modelList", yourModelList);
はデータ
ArrayList<ModelClass> modelList= (ArrayList<ModelClass>).getIntent().getSerializableExtra("modelList");
を取得使用して詳細なアクティビティ
にあなたの主な活動からのデータを渡す次のステップ
Intent intent = new Intent(this,Detail.class); intent.putParcelableArrayListExtra("modelList", modelList); startActivity(intent);
あなたDetail.java活動でデータを取得
ArrayList<ModelClass> modelList= getIntent().getParcelableArrayList("modelList");
のほかに、あなたが1つのアクティビティからあなたのArrayListを反復始めると、それは厄介取得だって私は非常に、あなたがフラグメントの使用をお勧めします別のセービングIDとその他のもの 希望する;)
ありがとうございますが、getParcelableExtra( "modelList")は動作しません。getStringArrayListExtraを使用しました。 –
私の回答を編集しました.putParcelableArrayListExtraとgetParcelableArrayListExtra – Aliy
詳細アクティビティは、必要なパラメータ(この例では次の練習のID)を持つバンドルで開始できます。
Intent mIntent = new Intent(this, Detail.class);
Bundle mBundle = new Bundle();
mBundle.putInt("id", theIdOfNextExercise);
mIntent.putExtras(mBundle);
startActivity(mIntent);
その後、打ち上げ詳細アクティビティでは、経由でパラメータを読むことができます:
int exerciseId = getIntent().getExtras().getInt("id", 0);
そして、あなたのアクティビティ(詳細)でその運動に関連した詳細を示します。 私はデフォルト値を0に設定しています。したがって、exerciseId> 0の場合は、表示する演習のIDがあります。
バンドルには、すべてのプリミティブ型SerializablesとParcelablesのgetメソッドとputメソッドがあります。 putInt/getIntでの整数の使用は単なる例です。
あなたがあなたの運動のIDを保存するためにバンドルを使用して、あなたが呼ばれる活動にそれをキャッチするよりもすることができます...私はあなたがフラグメントを使用することをお勧め、それはより困難だが、それは賢いですし、よりユーザーフレンドリー
- 1. アクティビティが別のアクティビティを開始したため、アクティビティのタイムアウトを開始する
- 2. プリファレンスヘッダーからアクティビティを開始
- 3. アクティビティからフラグメンテーションアクティビティを開始
- 4. kotlinアクティビティ* .ktをJavaアクティビティ* .javaから開始しますか?
- 5. インテントからアクティビティを開始しない
- 6. 新しいアクティビティを開始し、そのアクティビティでメソッドを開始する方法
- 7. 開始アクティビティ
- 8. 開始アクティビティをリロードしますか?
- 9. アクティビティ以外のクラスから新しいアクティビティを開始する
- 10. プリファレンスアクティビティの開始アクティビティ
- 11. 表面ビュー、アクティビティ、開始アクティビティ、アクティビティのダイアログ
- 12. アクティビティを拡張しないクラスからアクティビティを開始
- 13. BroadCastReceiverを開始するアクティビティから
- 14. アンドロイドSlidingTab開始アクティビティ?
- 15. Android BroadcastReceiver開始アクティビティ
- 16. ブロードキャストレシーバからのアクティビティを開始
- 17. HTMLからのアクティビティを開始
- 18. タブレイアウトのアクティビティからタブフラグメントを開始
- 19. React native - バックグラウンドサービスからのアクティビティを開始
- 20. ランチャータイプのアクティビティから別のアクティビティを開始できません
- 21. BroadcastReceiverのアクティビティを開始
- 22. FrameLayoutのアクティビティを開始
- 23. Android:OpenGLレンダラーからアクティビティを開始
- 24. RecyclerView(Xamarin)からアクティビティを開始
- 25. Android Studio Modulからアクティビティを開始
- 26. 他のライブラリプロジェクトからのアクティビティの開始
- 27. ItemizedOverlayクラスからのアクティビティの開始
- 28. IMEからの結果のアクティビティ開始
- 29. サービスからフォアグラウンドへのアクティビティの開始
- 30. GridViewからのアクティビティの開始
アクティビティの代わりにフラグメントについてのワットコンテンツを置き換えるフラグメント。 –