android - 如何显示向上滑动面板展开?

标签 android android-fragments

我正在使用 umano 的 AndroidSlidingUpPanel .我想将滑动面板显示为已展开。以下是我的 fragment 代码。

public class Anasayfa extends BaseFragment {
    private SlidingUpPanelLayout partViewer;

    public Anasayfa(String id, String title) {
        super(id,title);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        partViewer = (SlidingUpPanelLayout) inflater.inflate(R.layout.fragment_issue_part, container, false);

        Issue issue = TaskManager.getIssue(TaskManager.getLatestIssueDate(),getActivity().getApplicationContext());
        FragmentActivity activity = getActivity();
        IssuePageAdapter adapter = new IssuePageAdapter(activity.getSupportFragmentManager(), issue.getPartAnaGazete());

        ViewPager issuePager = (ViewPager) partViewer.findViewById(R.id.pager);
        issuePager.setAdapter(adapter);

        partViewer.expandPanel();

        return partViewer;
    }
}

我使用以下代码将 fragment 附加到我的 Activity 中:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    settings = getSharedPreferences("UserInfo", 0);

    imageLoader = ImageLoader.getInstance(this);

    setupDrawer();

    gotoFragmentAnasayfa();
}

public void gotoFragmentAnasayfa() {
    Fragment myApp = new Anasayfa("", "Anasayfa");
    goToFragment(myApp);
}

private void goToFragment(Fragment view) {
    FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.replace(R.id.content_frame, view);
    transaction.commit();
}

但是我得到 NullPointerException 因为 SlidingUpPanelLayout.mSlideableView 没有被实例化。

以下是堆栈跟踪:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.promob.myapp/com.promob.myapp.MainActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
        at android.app.ActivityThread.access$800(ActivityThread.java:135)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at com.sothree.slidinguppanel.SlidingUpPanelLayout.expandPanel(SlidingUpPanelLayout.java:887)
        at com.sothree.slidinguppanel.SlidingUpPanelLayout.expandPanel(SlidingUpPanelLayout.java:876)
        at com.promob.myapp.fragment.Anasayfa.onCreateView(Anasayfa.java:39)
        at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)

mSlideableViewSlidingUpPanelLayout.onMeasure() 方法中实例化(参见 SlidingUpPanelLayout.java 上的第 574 行)。

我应该如何(或在哪个生命周期阶段)显示向上滑动面板已展开?

最佳答案

你好。

在我使用的最新版本中,添加了这个属性:

sothree:umanoInitialState="expanded"

所以我的代码是这样的:

<com.sothree.slidinguppanel.SlidingUpPanelLayout
    xmlns:sothree="http://schemas.android.com/apk/res-auto"
    android:id="@+id/spl_SlideLayout_activity_searchform"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="top"
    sothree:umanoPanelHeight="68dp"
    sothree:umanoShadowHeight="4dp"
    sothree:umanoParalaxOffset="100dp"
    sothree:umanoDragView="@+id/dragView" 

    sothree:umanoInitialState="expanded" >

关于android - 如何显示向上滑动面板展开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24241145/

相关文章:

android - 记住 LazyColumn 滚动位置 - Jetpack Compose

android - 谷歌地图 : open URL by coordinates but show the location name

Android在 fragment 和对话框 fragment 之间共享ViewModel?

android - 在 android 中使用 FragmentTabHost 传递数据

android-fragments - RecyclerView 滚动到位置并获取该 View

android - viewpager 中的 fragment savedinstancestate 始终为 null

java - 删除 fragment 时的Android

java - 如何正确使用setOnClickListener?

android - 停止 Activity 中的服务

java - 膨胀 Facebook 登录按钮时出错。