I have created Portrait and Landscape Views with Fragments. I implement the TwoPane boolean code in my MainActivity.
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();
}
}
How do I get the boolean for orientation in the BaseAdapter so I can manage the onClickListener to either open the details in the TwoPane or Open the Fragment. I want to put the mListener into boolean if else.
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;
}