[英]To Load data coming from server in Tabs
我一次以[{}](格式)從服務器獲取所有數據。 就像是
[{"id":"1","name":"akash","desc":"desc","category":"Firsttab"}, {"id":"2","name":"ajay","desc":"desc2","category":"Secodntab"}]
現在,我將數據存儲在SQlite中,並從兩個選項卡中的Sqlite獲取所有數據。 現在,我需要在第一個選項卡中用desc加載akash,在第二個選項卡中用desc2加載ajay。 幫幫我。
編碼區
adapter = new ViewPagerAdapter(getSupportFragmentManager());
List<TabData> tabdata = db.getAllCategory();
Log.d("TabData", "check: "+tabdata);
for(TabData tab : tabdata) {
TabData data = new TabData(tab.getName(), tab.getType());
tabData.add(data);
Fragment appFrf = new AppetiserBar();
adapter.addFragment(appFrf, tab.getName());
adapter.notifyDataSetChanged();
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
adapter.notifyDataSetChanged();
}
也
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
Log.d("PageSelected", "Check: "+position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
在Fragment上獲取數據為:
List<AppetiserData> rest_list = db.getAllDatarl();
Log.d("RestaurantModel: ", "Check: "+rest_list);
cardList.clear();
for(AppetiserData data : rest_list){
AppetiserData models = new AppetiserData(data.getName(),
data.getDescription(), data.getCategory());
cardList.add(models);
}
您獲取的數據采用JSONArray的形式。 您可以在活動中解析它們,並根據需要將它們分布在片段中。 要解析它們:
try {
ArrayList<String> allData= new ArrayList<String>();
JSONArray yourArray = jsonResponse.getJSONArray(your json array);
for(int i=0;i<yourArray.length();i++){
JSONObject person = yourArray.getJSONObject(i);
String name = person.optString("name");//this will return akash for i=0
allData.add(name);
}
} catch (JSONException e) {
e.printStackTrace();
}
我是直接在瀏覽器中編寫的,但是應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.