我有一个菜单,想要调用下一个活动,以便用户可以计算,然后想要返回下一页或主页,但不知道如何做到这一点...... Ja试图在很多方面,但不是正确的,或者当它在另一个页面上工作时,消失了所有的非法菜单,让你只停留在那个活动中。
我是编程新手,尤其是Android。
MainActivity:
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
//I want to call the page " calculations" here.
} else if (id == R.id.nav_gallery) {
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
android_manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.stark.hello_world">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".Splashscreen"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Calculos"
android:label="@string/action_help"
android:parentActivityName=".MainActivity" />
</application>
</manifest>
calculos.xml
<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:paddingLeft="4dp"
android:paddingRight="4dp"
android:paddingTop="4dp"
android:paddingBottom="4dp"
tools:context=".MainActivity"
android:background="#ff0fffab">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="SEM"
android:id="@+id/textView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:textSize="@dimen/abc_text_size_display_3_material"
android:textColor="#ffffffff" />
<EditText
android:id="@+id/email_address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number" />
</RelativeLayout>
答案 0 :(得分:1)
将父活动设置为android_manifest
<activity
android:name=".Help"
android:label="@string/action_help"
android:parentActivityName=".MainActivity" />
答案 1 :(得分:1)
我不确定你的问题,但我想你想在点击菜单项后打开一个新的活动?
为此,您需要在if中启动一个Intent - 我已经为您的代码添加了所需的行
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
//I want to call the page " calculations" here.
//with this code you can call a new activity
Intent intent = new Intent(this, YourActivity.class);
startActivity(intent);
} else if (id == R.id.nav_gallery) {
//create another Intent here and navigate to the correct activity
}
但我建议使用Fragments而不是Activities并使用getFragmentManager().beginTransaction().replace(YourFragment.newInstance());