当前位置: 首页 > 知识库问答 >
问题:

无法返回CountryDetailsFragment对象

胡安怡
2023-03-14

这是MyFragmentPagerAdapter类,它扩展了FragmentPagerAdapter。返回我的片段时发现错误

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;
}

我的国家详情如下。它扩展了Fragment,我将2个文本视图填充到一个视图寻呼机中,如下所示。

 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;
}

堆栈跟踪如下

03-03 05:15:31.093: E/AndreidRuntime(910): FATAL EXCEPTION: main 03-03 05:15:31.093: E/AndreidRuntime(910):android.content.ActivityNotFound异常:未找到处理Intent{act=com.example.simplelistdetail.CountryDetailsActive(有额外功能)} 03-03 05:15:31.093: E/AndreidRuntime(910): atandroid.app.nstrumentation.checkStartActivityResult(Instrumentation.java:1632)03-03 05:15:31.093: E/AndreidRuntime(910): atandroid.app.Instrumentation.execStartActive(Instrumentation.java:1424)03-03 05:15:31.093: E/Android Runtime(910):在android.app.ctivity.startActivityForResult(Activity.java:3390)03-03 05:15:31.093: E/Android Runtime(910):在android.app.Activity.startActivityForResult(Activity.java:3351)03-03 05:15:31.093: E/Android Runtime(910):在android.app.Activity.start活动(Activity.java:3587)03-03 05:15:31.093: E/Android Runtime(910):在android.app.Activity.start活动(Activity.java:3555)03-03 05:15:31.093: E/Android Runtime(910): at com. case. implelist细节。MainActivity. onListFragmentItemClick(MainActivity. java: 62)03-03 05:15:31.093: E/AndreidRuntime(910): at com. case. implelist细节。CountryListFragment. onListItemClick(CountryListFragment. java: 48)03-03 05:15:31.093: E/AndreidRuntime(910): at android. app。listFragment2 dollars. onItemClick(ListFragment. java: 160)03-03 05:15:31.093: E/AndreidRuntime(910): at android. Widget。AdapterView. performItemClick(AdapterView. java: 298)03-03 05:15:31.093: E/AndreidRuntime(910): at android. Widget。AbsListView. performItemClick(AbsListView. java: 1100)03-03 05:15:31.093:Handler.调度消息(Handler. java: 92)03-03 05:15:31.093: E/AndreidRuntime(910): at android. os. Looper. cle(Looper. java: 137)03-03 05:15:31.093: E/AndreidRuntime(910): at android. app. ActivityThread. main(ActivityThread. java: 5103)03-03 05:15:31.093: E/AndreidRuntime(910): at java. lang. reect.法.调用本机(本机方法)03-03 05:15:31.093: E/AndreidRuntime(910): at java. lang. reect. method. invoke(法. java: 525)03-03 05:15:31.093: E/AndreidRuntime(910): at com. android. interal. os. ZygoteInit$MEodAndArgsCaller.

共有1个答案

宓季同
2023-03-14

如果您的CountryDetailsFragment扩展了Fragment,则问题不应存在。不过,您可能混合了从框架支持库导入。检查所有导入是否一致,无论是在

android.support.v4.Fragment

android.app.Fragment
 类似资料:
  • 我正在使用dropwizard和jersey2 rest客户端,我得到 然而,当我打开日志记录时,我看到 我怎样才能反序列化这个响应,而不是只得到400? 我的代码看起来像 亚洲账户基本上是空的 我添加了apiVerson,时间戳和错误到亚洲帐户,但它仍然不工作。任何帮助都很感激。

  • 问题内容: 我正在在线关注CS106A的讲座。我正在阅读第12讲中的代码,但这给了我Eclipse错误。 这是我的代码。似乎错误是由于我的方法中的单词void 。我尝试删除main方法,但是没有它,Java当然无法运行。 我是一名新手,没有人解释这东西的真正含义,但有人告诉我,请不要理会它并使用它。如果有人也可以向我解释,我将不胜感激。 这个错误也出现在“ toLower”方法上。不知道这意味着什

  • 我找遍了所有我知道的地方,但我似乎找不到答案。 如果我将一个“复杂”对象从Data提供者传递给测试方法,Invoker似乎会在每次迭代中获得一个新的RetryAnalyzer实例。 IRL,我的数据提供程序进行DB查询并将对象传递给测试方法。我最初假设DB访问会导致问题,但后来将其缩小到我认为最简单的示例。 请看下文。如果我在 RetryAnalyzer 中设置断点,我可以看到 retryCoun

  • 问题内容: 我刚刚学习(正在学习)函数参数在Python中的工作方式,并且在没有明显原因的情况下开始进行实验: 给出了输出: 哪里来的?还有,这是什么? 问题答案: 它是函数的返回值,您可以将其打印出来。如果没有语句(或者只是没有参数的),则将隐式添加到函数的末尾。 您可能想返回函数中的值,而不是打印它们:

  • 问题内容: 我正在尝试使用ttk.Button的invoke方法,如TkDocs所示(请参阅 “命令回调” ),但我一直收到此错误: AttributeError:’NoneType’对象没有属性’invoke’ 因此,我在Interactive Shell中尝试了此操作: 这表明ttk.Button返回None。 是ttk.Button旨在返回无。而且,如果是这样,为什么TkDocs会说有一个i