简体   繁体   English

从SherlockFragmentActivity内的SherlockFragment启动Fragment-Android

[英]Start Fragment from SherlockFragment inside a SherlockFragmentActivity - Android

I have an Activity (call Home) extends SherlockFragmentActivity, that has 5 Tabs. 我有一个Activity(称为Home)扩展了SherlockFragmentActivity,它具有5个选项卡。 Each Tab is a SherlockFragment. 每个选项卡都是一个SherlockFragment。

This is layout home.xml : 这是布局home.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</android.support.v4.view.ViewPager>

This is Adapter for Home : 这是家用适配器:

public class ViewPagerAdapter extends FragmentPagerAdapter {

// Declare the number of ViewPager pages
final int PAGE_COUNT = 5;

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

@Override
public Fragment getItem(int arg0) {
    switch (arg0) {

    // Open FragmentTab1.java
    case 0:
        FragmentTab1 fragmenttab1 = new FragmentTab1();
        return fragmenttab1;

        // Open FragmentTab2.java
    case 1:
        FragmentTab2 fragmenttab2 = new FragmentTab2();
        return fragmenttab2;

        // Open FragmentTab3.java
    case 2:
        FragmentTab3 fragmenttab3 = new FragmentTab3();
        return fragmenttab3;

    case 3:
        FragmentTab4 fragmenttab4 = new FragmentTab4();
        return fragmenttab4;

        // Open FragmentTab3.java
    case 4:
        FragmentTab5 fragmenttab5 = new FragmentTab5();
        return fragmenttab5;
    }
    return null;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return PAGE_COUNT;
}

} }

Each Tab, that extends SherlockFragment, has a ListView. 每个扩展SherlockFragment的Tab都有一个ListView。

All I want is when each item of ListView is clicked, a new Fragment is replaced in the same position. 我想要的是单击ListView的每个项目时,在相同位置替换一个新的Fragment。

I try with Adapter for ListView but my app's force-lose. 我尝试使用Adapter for ListView,但是我的应用程序失败了。

public class ListAdapter extends BaseAdapter {

    ......................

private FragmentManager mFragmentManager;

public ListAdapter(FragmentManager fm) {
    this.mFragmentManager = fm;
}

    ..............

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

                    ........................

        convertView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            // Create new fragment and transaction
            FragmentDetail newFragment = new FragmentDetail();
            FragmentTransaction ft = mFragmentManager.beginTransaction();

            // Replace fragmenttab1.xml layout. It's id is R.id.container 
            ft.replace(R.id.container, newFragment);
            ft.addToBackStack(null);

            // Commit the transaction
            ft.commit();

        }
    });

    return convertView;
}

} }

Here is LogCat. 这是LogCat。 ListVideoAdapter in LogCat is ListAdapter above. LogCat中的ListVideoAdapter就是上面的ListAdapter。

在此处输入图片说明

How can I do that? 我怎样才能做到这一点?

在此处输入图片说明

您没有初始化convertView,并且在setOnclickListener时具有nullpointerexception

public View getView(final int position, View convertView, ViewGroup parent)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Android SherlockFragmentActivity调用SherlockFragment - Android SherlockFragmentActivity call SherlockFragment 在Android的SherlockFragmentActivity的SherlockFragment中未调用onResume()吗? - onResume() is not called in SherlockFragment of SherlockFragmentActivity in Android? 如何将标签添加到SherlockFragment,而不是SherlockFragmentActivity中 - how to add tabs to a SherlockFragment, not in a SherlockFragmentActivity Android,在sherlockFragment中使用蓝牙 - Android, using bluetooth inside sherlockFragment SherlockFragment(容器)如何访问Fragment中的组件? - How a SherlockFragment (container) accessing component inside Fragment? 如何从TabsAdapter,ViewPager和SherlockFragmentActivity中删除片段 - How to remove Fragment from TabsAdapter, ViewPager and SherlockFragmentActivity 如何从SherlockFragment获取Context并启动Activity - How to get Context from SherlockFragment and start Activity 片段必须附加到SherlockFragmentActivity - Fragment must be attached to a SherlockFragmentActivity android SherlockFragmentActivity-如何为同一活动的进一步开始保存值 - android SherlockFragmentActivity - how to save values for a further start of the same activity 从另一个片段开始片段(Android) - start fragment from another fragment (Android)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM