Android 如何在BaseAdapter类中为TwoPane布局返回布尔值

Android 如何在BaseAdapter类中为TwoPane布局返回布尔值,android,android-fragments,Android,Android Fragments,我用碎片创建了肖像和风景视图。我在MainActivity中实现了TwoPane布尔代码 boolean mTwoPane; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (findView

我用碎片创建了肖像和风景视图。我在MainActivity中实现了TwoPane布尔代码

  boolean mTwoPane;

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

        if (findViewById(R.id.details_fragment_container) != null) {

            mTwoPane = true;

            if (savedInstanceState == null) {
                getSupportFragmentManager().beginTransaction()
                        .replace(R.id.details_fragment_container, new DetailsFragment(), DetailsFragment.LOG_TAG)
                        .commit();
            }
        } else {
            mTwoPane = false;
        }

    }

    @Override
    public void onItemSelected(String title, String poster, String plot, double ratings, String release, String id) {
        if (mTwoPane) {
           getSupportFragmentManager().beginTransaction()
                    .add(R.id.details_fragment_container, DetailsFragment.newInstance(title, poster, plot, ratings, release, id))
                    .commit();
            Log.d(LOG_TAG, "Movie Title: " +title);
        } else {
            getSupportFragmentManager().beginTransaction().replace(R.id.container,DetailsFragment.newInstance(title, poster, plot, ratings, release, id))
            .addToBackStack(null).setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).commit();
        }
    }
如何在BaseAdapter中获取方向的布尔值,以便管理onClickListener在TwoPane中打开详细信息或打开片段。 我想把mListener转换成布尔型,如果不是的话

 view.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mListener.onItemSelected(MovieArrayList.get(i).getTitle(), Constants.IMAGE_URL + MovieArrayList.get(i).getImage(), 

MovieArrayList.get(i).getPlot(), MovieArrayList.get(i).getRating(), MovieArrayList.get(i).getRelease(), MovieArrayList.get(i).getId() );
            Bundle args = new Bundle();
            args.putString("title", MovieArrayList.get(i).getTitle());
            args.putString("poster",Constants.IMAGE_URL + MovieArrayList.get(i).getImage());
            args.putString("plot",MovieArrayList.get(i).getPlot());
            args.putDouble("rating",MovieArrayList.get(i).getRating());
            args.putString("release", MovieArrayList.get(i).getRelease());
            args.putString("id",MovieArrayList.get(i).getId());
            Fragment newFragment = new DetailsFragment();
            newFragment.setArguments(args);
            android.support.v4.app.FragmentTransaction transaction = ((FragmentActivity)context).getSupportFragmentManager().beginTransaction();
            transaction.replace(R.id.container, newFragment);
            transaction.addToBackStack(null);
            transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
            transaction.commit();
        }
    });
    return view;
}
现在你有:

mTwoPane=findviewbyd(R.id.details\u fragment\u container)!=无效

您可以将其替换为方法:

boolean岛景(上下文){
返回context.getResources().getBoolean(R.bool.isLandscape);
}

mTwoPane=isLandscape(此)

必须添加布尔值,如中所示:

然后在
View.OnClickListener()
中执行:

boolean isLandscape=isLandscape(view.getContext())

现在您有:

mTwoPane=findviewbyd(R.id.details\u fragment\u container)!=无效

您可以将其替换为方法:

boolean岛景(上下文){
返回context.getResources().getBoolean(R.bool.isLandscape);
}

mTwoPane=isLandscape(此)

必须添加布尔值,如中所示:

然后在
View.OnClickListener()
中执行:

boolean isLandscape=isLandscape(view.getContext())