Привет, я использовал мастер студии Android для создания активности ящика. Внутри MainnActivity я поместил этот код:Фрагмент не загружается при щелчке по ящику с отгадкой
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_movies) {
Fragment newDetail = ListFragment.newInstance(LAUNCH_MOVIES);
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, newDetail)
.commit();
} else if (id == R.id.nav_tv) {
Fragment newDetail = ListFragment.newInstance(LAUNCH_TV);
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, newDetail)
.commit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
Поскольку у меня есть 2 варианта, мне нужно, чтобы запустить один и тот же фрагмент с различными аргументами, и на основе различных аргументов фрагмент показывает разные вещи. Но когда я нажимаю элемент навигационного элемента, ничего не появляется на экране или на стеке.
ListFragment:
public static ListFragment newInstance(int target) {
Bundle args = new Bundle();
args.putInt(ARG_SCOPE, target);
ListFragment fragment = new ListFragment();
fragment.setArguments(args);
return fragment;
}
public ListFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
scope = getArguments().getInt(ARG_SCOPE);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.content_main, container, false);
switch (scope){
case 1:
//launch Movies
((TextView)rootView.findViewById(R.id.textView)).setText("" + MainActivity.LAUNCH_MOVIES);
break;
case 2:
//Launch tv
((TextView)rootView.findViewById(R.id.textView)).setText("" + MainActivity.LAUNCH_TV);
break;
default:
Log.w(LOG_TAG, "INVALID SCOPE");
}
return rootView;
}
Спасибо Я схожу с ума.
XML файлы: activity_main
<android.support.v4.widget.DrawerLayout
...>
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<android.support.design.widget.NavigationView
.../>
</android.support.v4.widget.DrawerLayout>
app_bar_main
<android.support.design.widget.CoordinatorLayout
...>
<android.support.design.widget.AppBarLayout
...>
<android.support.v7.widget.Toolbar
.../>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/container"/>
</android.support.design.widget.CoordinatorLayout>
content_main
<RelativeLayout
...>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"/>
</RelativeLayout>
Мне очень хотелось бы знать, почему мой вопрос был опущен, и никаких решительных ответов не было добавлено. – Ddddddd