问题
I have created 3 fragment java files and used TabsPager file to swipe the fragments. Now I added working code on StoreHomeFragment.java code added to storehomefragment is collection of populating into gridview
but now I am get error in TabsPager
TabsPagerAdapterStore.java
public class TabsPagerAdapterStore extends FragmentPagerAdapter {
public TabsPagerAdapterStore(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0: return new StoreGenreFragment();
case 1: return new StoreHomeFragment(); //this line error
case 2: return new StoreStepFragment();
}
return null;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 3;
}}
And in "case 1" above error is popped up. I use right click and Quick Fix
Change method return type to StoreHomeFragment
I have uploaded the image as well to just show the error popping up if I choose that one then every other fragments in the switch case will get error can please anyone help me what mistake I might have committed
And the code which is present in StoreHomeFragment.java
public class StoreHomeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.store_home, container, false);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
// Gridview
final GridView gridView1 = (GridView)rootView.findViewById(R.id.store_home_gridview);
String url = "http://192.168.1.132/Android/App/good.php";
try {
JSONArray data = new JSONArray(getJSONUrl(url));
final ArrayList<HashMap<String, String>> MyArrList = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map;
for(int i = 0; i < data.length(); i++){
JSONObject c = data.getJSONObject(i);
map = new HashMap<String, String>();
map.put("name", c.getString("name"));
map.put("artist", c.getString("artist"));
map.put("price", c.getString("price"));
map.put("image", c.getString("image"));
MyArrList.add(map);
}
//gridView1.setAdapter(new ImageAdapter(this,MyArrList));
gridView1.setAdapter(new ImageAdapter(this,MyArrList));
} catch (JSONException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return rootView;
}
回答1:
Check if StoreHomeFragment
extends Fragment
and, if you use the support library, check your class imports because Fragment
class is also contained in support library. Pratically you have to import the same Fragment
class that you use in StoreGenreFragment
or StoreStepFragment
来源:https://stackoverflow.com/questions/23513118/i-am-getting-error-when-i-use-fragment-tabspager-in-android-java-file