4
GridView控件包含分类传递JSON阵列,当我做任何GridView的项目的挖掘(即 - 任何类别)我想显示的项目属于那些仅在ViewPager特定类别。如何使用JSON对象
例如,我有两个categories
第一 - 电子和第二 - 电器,仍然每当I DO轻触Appliances
类别 - 它表示all
的items
(从Electronics 1 to Appliances 2
),而它具有显示only items
那些under Appliances
发行
仍然显示在ViewPager的所有项目,无论哪个H类被用户点击... 我如何显示属于点击类别的项目?
public class MainActivity extends Activity {
ArrayList<Items> itemsArrayList;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
itemsArrayList = new ArrayList<Items>();
...
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long id) {
String categoryName = menusArrayList.get(position).getName().toString();
Log.d("categoryName:", categoryName);
menus = menusArrayList.get(position);
itemsArrayList = menus.getItemsArrayList();
adapter = new ViewPagerAdapter(MenusActivity.this, R.layout.adapter_viewpager, itemsArrayList);
viewPager.setAdapter(adapter);
}
});
}
class JSONAsyncTask extends AsyncTask<String, Void, Boolean> {
ProgressDialog dialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Boolean doInBackground(String... urls) {
try {
.....
JSONArray jsonArray = jsonObject.getJSONArray("category");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jObject = jsonArray.getJSONObject(i);
menus = new Menus();
menus.setName(jObject.getString("name"));
menus.setImage(jObject.getString("image"));
JSONArray imagesArray = jObject.getJSONArray("items");
for(int j=0; j<imagesArray.length(); j++)
{
JSONObject imagesObject = imagesArray.getJSONObject(j);
items = new Items();
items.setTitle(imagesObject.getString("title"));
items.setImage(imagesObject.getString("image"));
itemsArrayList.add(items);
}
menus.setItemsArrayList(itemsArrayList);
menusArrayList.add(menus);
}
return true;
}
...
return false;
}
protected void onPostExecute(Boolean result) {
dialog.cancel();
...
}
}
}
通行证类别名称或类别ID在'ViewPagerAdapter(...)'的'Argument'并将其过滤 –
@MD我曾尝试没有得到解决,你能指出我的错误? – Sun
您将类别传递给'ViewPagerAdapter'的位置? –