私は、スタティックタブを作成する方法、ボレーを使ってアンドロイドでデータを取得し、各フラグメントで作業する方法を知っていましたが、JSON
を使ってダイナミックタブを作成し、tabs
最初のタブストア"मुख्य समाचार"
のように、さまざまなWebサービスから来る画像と詳細。 私が知っていることは、このようにタブを作成することです:私は、TABS名として"cat_name"
を保存するAndroidの各フラグメントに動的タブを作成し、さまざまな機能を追加するにはどうすればよいですか?
public class TabActivity extends AppCompatActivity {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
viewPager = (ViewPager) findViewById(R.id.container);
setupViewPager(viewPager);
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new OneFragment(), "ONE");
adapter.addFrag(new TwoFragment(), "TWO");
viewPager.setAdapter(adapter);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFrag(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
}
。どのようにすればいいですか?私はそれを試していますが、データを取得してタブ名として保存し、各タブのフラグメントを動的に作成し、各タブで個別に作業する方法を適切に修正できません。
ここでは、タブ名を取得するための私のWebサービスです。
{
"status": 200,
"message": "Purchase order updated successfully",
"data": {
"page_title": "Home | Welcome",
"menu": [
{
"cat_id": "1",
"cat_name": "मुख्य समाचार",
"description": ""
},
{
"cat_id": "2",
"cat_name": "राजनीती ",
"description": ""
}
編集どのように私は、この画像のように、個々のタブで作業することができ
「cat_id」を使用して特定のフラグメントにデータを格納することができます – Piyush
どのように説明できますか。 –
サーバーからの応答が得られたら、タブのタイトルを含むアダプタをいっぱいにして、1つのフラグメントだけを膨張させます。タブをスワイプしたり、タブをクリックしたりすると、カテゴリIDが一致する場合は、そのカテゴリデータをフラグメントに表示します。 – Piyush