错误代码显示:
09-15 11:20:26.413 16914-16914 / com.ats_school.bsdp E / AndroidRuntime: 致命异议:主诉 处理:com.ats_school.bsdp,PID:16914 java.lang.IllegalArgumentException:找不到id 0x7f0d00bf的视图 (com.ats_school.bsdp:id / mission_menu)片段 MissionParty {6ecf0ff#0 id = 0x7f0d00bf} 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1059) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 在 android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) 在 android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 在 android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:517) 在android.os.Handler.handleCallback(Handler.java:739) 在android.os.Handler.dispatchMessage(Handler.java:95) 在android.os.Looper.loop(Looper.java:148) 在android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
ActivityMain.java
public class MainActivity extends AppCompatActivity {
ActionBarDrawerToggle toggle;
// FragmentTransaction fragmentTransaction;
// private static ImageView daily_sounds, daily_news, daily_videos, songParty, gallery, notice, mission, policy, history;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//onClickImageButtonListener();
//onClickImageViewListener();
final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
//DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.open, R.string.close);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (!isNetworkAvailable()) {
//Create an alertdialog
AlertDialog.Builder Checkbuilder = new AlertDialog.Builder(MainActivity.this);
Checkbuilder.setIcon(R.drawable.about_us);
Checkbuilder.setTitle("Error!");
Checkbuilder.setMessage("Check Your Internet Connection");
//Builder Retry
} else {
// NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);
// navigationView.setNavigationItemSelectedListener(this);
final NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
Log.d("Navigation", "selected" + item.getTitle());
drawerLayout.closeDrawers();
getSupportActionBar().setTitle(item.getTitle());
switch (item.getItemId()) {
case R.id.mission_menu:
goToMissionMenu();
break;
case R.id.policy_menu:
goToPolicyMenu();
break;
}
return true;
}
});
}
}
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (toggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
private void goToMissionMenu() {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
MissionParty missionParty = new MissionParty();
transaction.replace(R.id.mission_menu, missionParty);
transaction.addToBackStack(null);
transaction.commit();
}
private void goToPolicyMenu() {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
PolicyMenu policyMenu = new PolicyMenu();
transaction.replace(R.id.policy_menu, policyMenu);
transaction.addToBackStack(null);
transaction.commit();
}
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.ats_school.bsdp.MainActivity"
android:id="@+id/drawerLayout">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_container">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TableLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="1"
android:shrinkColumns="1"
android:background="@color/white"
android:orientation="vertical"
tools:context="com.ats_school.bsdp.MainActivity">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layoutDirection="inherit"
android:padding="10dp"
>
<RelativeLayout
android:background="@color/white"
android:layout_height="150dp"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:id="@+id/daily_sounds"
android:src="@drawable/daily_news"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"/>
<TextView
android:text="@string/daily_sounds"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center"
android:layout_below="@+id/daily_sounds"
android:textAllCaps="false"
android:textStyle="bold"
android:textColor="@color/pressed_green"
android:textSize="20dp"/>
</RelativeLayout>
<RelativeLayout
android:background="@color/white"
android:layout_height="150dp"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:id="@+id/daily_news"
android:src="@drawable/news"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"/>
<TextView
android:text="@string/daily_news"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center"
android:layout_below="@+id/daily_news"
android:textAllCaps="false"
android:textStyle="bold"
android:textColor="@color/pressed_green"
android:textSize="20dp"/>
</RelativeLayout>
<RelativeLayout
android:background="@color/white"
android:layout_height="150dp"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:id="@+id/daily_videos"
android:src="@drawable/videos"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"/>
<TextView
android:text="@string/daily_videos"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center"
android:layout_below="@+id/daily_videos"
android:textAllCaps="false"
android:textStyle="bold"
android:textColor="@color/pressed_green"
android:textSize="20dp"/>
</RelativeLayout>
</TableRow>
</FrameLayout>
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:menu="@menu/nav_menu"
app:itemBackground="@drawable/pressed_green"
android:layout_gravity="start"
android:id="@+id/navigationView">
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
MissionParty.java(片段文件)
public class MissionParty extends Fragment {
// TODO: Rename parameter arguments, choose names that match
public MissionParty() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_mission_party, container, false);
}
}