2016-11-15 5 views
0

Android/Javaを学習しています。私がしたいことをGoogleに伝える方法がわかりません。アクティビティにタブを追加して背景データの変更を更新する

データを一度取り上げて別のタブに表示する方法を理解する上で助けが必要です。

たとえば、「生徒」を含むJSON objectがあります。このオブジェクトはすべてを保持します学生アイデンティティ、等級、現在のクラス、ランチマネー

リストビューから生徒を選択した後、各サブオブジェクトを別のタブに表示したいとします。

JSON Objectからデータを取得することができます。データを表示して、MasterViewActivityに更新することもできます。

enter image description here

は、どのように私はこの活動にタブを追加することができますか?さらに重要なことは、リフレッシュが押されたときに新しい情報でタブに通知して更新するにはどうすればよいですか?

私はこれをSO question,and thisと見ましたが、それは役に立たなかったと思います。私はGoogleのチュートリアルを持っていますが、それらの多くはすべて異なっており、いくつかは複数のアクティビティを使用しています。私が遭遇したことは、データが変更された様々なタブをどのように通知/更新するかを示しています。

誰かが私がやっていることに合った良いチュートリアルへのリンクを持っていることを期待しています。あるいは、私が始めるために共有したいコードスニペットがいくつかあります。

私は外部フレームワークまたはgithub reposのユーザーなしでこれを行うことをお勧めします。

+0

最初に更新ボタンは何ですか?私の見解では、リスト内の生徒をクリックすると、新しいビュー(アクティビティまたはフラグメント)が表示され、生徒の情報が表示されます。質問はそのためのリフレッシュボタンは何ですか? –

+0

@ErfanMowlaei変更を確認するためにレコードに入っているときにデータベースを再クエリする必要があります。ビューを離れてリストから項目を再選択する代わりに。 –

答えて

0

さて、アクティビティやフラグメント間の選択に関しては、あなたがいる状況に基づいて決定することに完全に依存しますが、フラグメントを使用することはおそらくより容易であると思われる新しいアクティビティを作成することを推奨します。あなたはこのように供給されTabLayoutを必要とするタブの場合:

@Override 
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    adapter = new ModuleBasedFragmentPagerItemAdapter(getChildFragmentManager(), 
      Locale.getDefault(), 
      ModuleHelper.getInstance().getFragmentList(getContext(), fragmentType)); 



    viewPager = (CustomViewPager) view.findViewById(R.id.viewpager); 
    viewPager.setAdapter(adapter); 

    viewPagerTab = (SmartTabLayout) view.findViewById(R.id.viewPagerTab); 
    viewPagerTab.setViewPager(viewPager); 

} 

だから、私はSmartTabLayout Librayを使用していた、ここのコードでそれを埋めるためにViewPagerFragmentStatePagerAdapterを必要とし、あなたもネイティブTabLayoutを使用することができます。タブごとに生成されるタブとフラグメントを初期化するために、異なるパラメータをFragmentStatePagerAdapterに与えることができます。

このようにして、あなたが求めたものを作成することができます。

関連する問題