2014-03-03 69 views
0

这是MyFragmentPagerAdapter类延伸FragmentPagerAdapter.Error而返回myFragment不能返回CountryDetailsFragment对象

public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ 

final int PAGE_COUNT = 11; 


public MyFragmentPagerAdapter(FragmentManager fm) { 
    super(fm); 
} 


@Override 
public Fragment getItem(int arg0) { 

    CountryDetailsFragment myFragment = new CountryDetailsFragment(); 
    Bundle data = new Bundle(); 
    data.putInt("current_page", arg0+1); 
    myFragment.setArguments(data); 
    return myFragment;<----error is shown here. 
} 


@Override 
public int getCount() { 
    return PAGE_COUNT; 
} 

我CountryDetailsFragment是follows.It延伸片段和我已填充2个textviews到视图寻呼机如被发现如下。

public class CountryDetailsFragment extends Fragment{ 
int mCurrentPage; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    /** Getting the arguments to the Bundle object */ 
    Bundle data = getArguments(); 

    /** Getting integer data of the key current_page from the bundle */ 
    mCurrentPage = data.getInt("current_page", 0); 

} 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 


    View v = inflater.inflate(R.layout.country_details_fragment_layout, null); 

    ViewPager pager = (ViewPager) v.findViewById(R.id.pager); 


    FragmentManager fm = getSupportFragmentManager(); <---Here the error is shown for getSupportFragmentManager() 


    MyFragmentPagerAdapter pagerAdapter = new MyFragmentPagerAdapter(fm); 
    pager.setAdapter(pagerAdapter); 
    TextView tv = (TextView) v.findViewById(R.id.country_details);  
    TextView details = (TextView) v.findViewById(R.id.country_details_more); 


    Bundle b = getArguments(); 


    tv.setText("Details of " + Country.name[b.getInt("position")]); 
    details.setText(Country.details[b.getInt("position")]); 

    return v; 
} 

堆栈跟踪是如下

5月3日至3日:15:31.093:E/AndroidRuntime(910):致命异常:主 5月3日至3日:15:31.093:E/AndroidRuntime(910 ):android.content.ActivityNotFoundException:没有找到处理Intent的活动{act = com.example.simplelistdetail.CountryDetailsActivity(has extras)} 03-03 05:15:31.093:E/AndroidRuntime(910):at android.app .Instrumentation.checkStartActivityResult(Instrumentation.java:1632) 5月3日至3日:15:31.093:E/AndroidRuntime(910):在android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) 5月3日至3日:15:31.093:E/AndroidRuntime(910):at android.app.Activity.startActivityForResult(Activity.java:3390) 03-03 05:15:31.093:E/AndroidRuntime(910):at android.app.Activity .startActivityForResult(Activity.java:3351) 5月3日至3日:15:31.093:E/AndroidRuntime(910):在android.app.Activity.startActivity(Activity.java:3587) 5月3日至3日:15:31.093 :E/AndroidRuntime(910):at android.app.Activity.startActivity(Activity.java:3555) 03-03 05:15:31.093:E/AndroidRuntime(910):at com.example.simplelistdetail.MainActivity.onListFragmentItemClick (MainActivity.java:62) 5月3日至3日:15:31.093:E/AndroidRuntime(910):在com.example.simplelistdetail.CountryListFragment.onListItemClick(CountryListFragment.java:48) 5月3日至3日:15:31.093 :E/AndroidRuntime(910):在android.app.ListFragment $ 2.onItemClick(ListFragment.java:160) 03-03 05:15:31.093:E/AndroidRuntime(910):at android.widget.AdapterView.performItemClick(AdapterView.java:298) 03-03 05:15:31.093:E/AndroidRuntime(910):at android.widget.AbsListView.performItemClick(AbsListView.java:1100) 5月3日至3日:15:31.093:E/AndroidRuntime(910):在android.widget.AbsListView $ PerformClick.run(AbsListView.java:2788) 03 -03 05:15:31.093:E/AndroidRuntime(910):at android.widget.AbsListView $ 1.run(AbsListView.java:3463) 03-03 05:15:31.093:E/AndroidRuntime(910):at android .os.Handler.handleCallback(Handler.java:730) 03-03 05:15:31.093:E/AndroidRuntime(910):at android.os.Handler.dispatchMessage(Handler.java:92) 03-03 05 :15:31.093:E/AndroidRuntime(910):在android.os.Looper.loop(Looper.java:137) 03-03 05:15:31.093:E/AndroidRunti (910):at android.app.ActivityThread.main(ActivityThread.java:5103) 03-03 05:15:31.093:E/AndroidRuntime(910):at java.lang.reflect.Method.invokeNative(Native Method ) 03-03 05:15:31.093:E/AndroidRuntime(910):at java.lang.reflect.Method.invoke(Method.java:525) 03-03 05:15:31.093:E/AndroidRuntime(910 ):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737) 03-03 05:15:31.093:E/AndroidRuntime(910):at com.android.internal.os.ZygoteInit .main(ZygoteInit.java:553) 03-03 05:15:31.093:E/AndroidRuntime(910):at dalvik.system.NativeStart.main(Native Method) 03-03 05:15:33.582:I /处理(910):发送信号。 PID:910 SIG:9

+0

堆栈跟踪,请 – Farhan

回答

0

如果您CountryDetailsFragment延伸Fragment问题不应退出。仍然可能出现这种情况,您正在混合来自frameworksupport library的导入。检查所有的进口是一致的,无论是在

android.support.v4.Fragment 

android.app.Fragment 
+0

我只是张贴了我CountryDetailsFragment.Please见之谓也。 – user3167936