我正在尝试创建一个导航抽屉活动,这样我就可以扩展该活动,并按照这个问题链接中给出的答案在所有活动中使用菜单,但我的测试应用程序总是崩溃,下面是我的代码:
BaseActivity.java
public class BaseActivity extends Activity {
public DrawerLayout drawerLayout;
public ListView drawerList;
public String[] layers;
private ActionBarDrawerToggle drawerToggle;
protected void onCreate(Bundle savedInstanceState) {
// R.id.drawer_layout should be in every activity with exactly the same
// id.
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerToggle = new ActionBarDrawerToggle((Activity) this, drawerLayout,
R.drawable.ic_drawer, 0, 0) {
public void onDrawerClosed(View view) {
getActionBar().setTitle(R.string.hello_world);
}
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(R.string.hello_world);
}
};
drawerLayout.setDrawerListener(drawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
layers = getResources().getStringArray(R.array.planets_array);
drawerList = (ListView) findViewById(R.id.left_drawer);
drawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, android.R.id.text1, layers));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (drawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
drawerToggle.onConfigurationChanged(newConfig);
}
}
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
}
}
<RelativeLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".ProfileActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
03-03 01:22:18.031: D/AndroidRuntime(27902): Shutting down VM
03-03 01:22:18.031: W/dalvikvm(27902): threadid=1: thread exiting with uncaught exception (group=0x2b542210)
03-03 01:22:18.041: E/AndroidRuntime(27902): FATAL EXCEPTION: main
03-03 01:22:18.041: E/AndroidRuntime(27902): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.slider/com.example.slider.MainActivity}: java.lang.NullPointerException
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.ActivityThread.access$600(ActivityThread.java:127)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.os.Handler.dispatchMessage(Handler.java:99)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.os.Looper.loop(Looper.java:137)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.ActivityThread.main(ActivityThread.java:4441)
03-03 01:22:18.041: E/AndroidRuntime(27902): at java.lang.reflect.Method.invokeNative(Native Method)
03-03 01:22:18.041: E/AndroidRuntime(27902): at java.lang.reflect.Method.invoke(Method.java:511)
03-03 01:22:18.041: E/AndroidRuntime(27902): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-03 01:22:18.041: E/AndroidRuntime(27902): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-03 01:22:18.041: E/AndroidRuntime(27902): at dalvik.system.NativeStart.main(Native Method)
03-03 01:22:18.041: E/AndroidRuntime(27902): Caused by: java.lang.NullPointerException
03-03 01:22:18.041: E/AndroidRuntime(27902): at com.example.slider.BaseActivity.onCreate(BaseActivity.java:35)
03-03 01:22:18.041: E/AndroidRuntime(27902): at com.example.slider.MainActivity.onCreate(MainActivity.java:12)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.Activity.performCreate(Activity.java:4465)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
03-03 01:22:18.041: E/AndroidRuntime(27902): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
03-03 01:22:18.041: E/AndroidRuntime(27902): ... 11 more
在主活动中,您必须在setContentView()之后调用super.onCreate(savedInstanceState)
我是android新手。我想实现一个由项目列表组成的导航抽屉,单击它会打开一个新活动。基本上是所有活动的导航抽屉。当我从导航抽屉中选择一个项目时,特定的活动就会打开。导航抽屉代码是通过执行空活动来实现的。我想在所有活动中实现导航抽屉功能,这些活动被视为空活动,这些活动已经有了一些功能,导航抽屉功能也可以工作。请帮帮我。 这是activity_header档案 这是我的主要活动 这是头活动java代
我已经从Android官方网站下载了示例项目http://developer.android.com/training/implementing-navigation/nav-drawer.html.我试图了解导航抽屉是如何工作的。所以,我有一个疑问,他们从左侧菜单中为每个项目调用一个片段。在我的项目中,我有一个大活动,我试图通过这个片段调用它: 公共类HomeFragment扩展了片段{ } 但
我正在试用本教程中给出的导航抽屉(幻灯片菜单)。 上面的链接和我的不同之处在于,我试图调用活动而不是调用片段。当应用程序打开时,我无法看到导航抽屉菜单,我只能看到打开HOME活动的操作栏。 以下是我更改的代码:(是否需要一个片段,或者我可以在导航抽屉的第一个屏幕上使用活动?) 我如何解决这个问题,以便在我的家庭活动中显示导航抽屉? 更新: 我甚至尝试了以下链接中给出的选项: 如何使用导航抽屉调用我
问题内容: 有没有一种方法可以只配置一次导航抽屉,并在多个Activites上显示它? 问题答案: 为此,只需创建一个实现抽屉的BaseActivity类,然后让所有其他活动扩展该抽屉即可。
我正在尝试使用Visual Studio2017在Xamarin中创建一个导航抽屉。我在谷歌做了一些研究后创建了导航抽屉。但当我尝试从菜单中打开活动时,导航抽屉消失了。 我想在我的所有活动中都有我的导航抽屉,而不是在所有活动中重复。 链接到我的项目:https://github.com/chindara/XamarinAndroidNavigationDrawer 更新链接:https://git
有没有一种方法可以只配置一次导航抽屉,并在多个活动上显示它?