我是Android Studio世界的新手。我做了两个活动页面。第一页中的第一个按钮将用户发送到第二页,它可以正常工作
public void change(View v){
setContentView(R.layout.activity_main_activity2);
但我在第二页中创建了相同的按钮,向用户发送主页但没有运气。请查看代码并告诉我为什么会出现此错误。
public void HomePage(View v){
setContentView(R.layout.activity_main_activity);
这是第一个活动页面
package com.example.lenovo;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends ActionBarActivity {
private Menu menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.menu = menu;
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public void change(View v){
setContentView(R.layout.activity_main_activity2);
}
}
这是第二项活动
package com.example.lenovo;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import static com.chapter2.example.lenovo.chapter2.R.layout;
public class MainActivity2 extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(layout.activity_main_activity2);
Button mButton = (Button) findViewById(R.id.button2);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent mIntent = new Intent(MainActivity2.this,
MainActivity.class);
startActivity(mIntent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main_activity2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public void HomePage (View v){
setContentView(R.layout.activity_main);
}
}
答案 0 :(得分:0)
如果您想使用内置设备后退按钮,那么只需输入
即可@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
}
如果您想通过按钮返回,请点击此行
bbsubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onBackPressed();
}
});
}
答案 1 :(得分:0)
目前,您正在切换Activity的布局而不是更改Activity。这不是在活动之间切换的正确方法。使用startActivity
方法意图启动按钮上的下一个Activity点击:
从MainActivity2
开始MainActivity
:
public void change(View v){
Intent intent=new Intent(v.getContext(),MainActivity2.class);
startActivity(intent);
}
从MainActivity2
开始MainActivity
:
public void HomePage(View v){
Intent intent=new Intent(v.getContext(),MainActivity.class);
startActivity(intent);
}
并确保在AndroidManifest.xml
答案 2 :(得分:0)
在第一个活动中,当您单击按钮时,您不会启动mainactivity2.class,而只是更改内容视图。
并且R.id.button2未在第一个活动中注册。
所以它不起作用
答案 3 :(得分:0)
您必须使用Intent
您需要在此onClick
布局中的该按钮中添加activity_main
标记,如此
android:onClick="change"
在activity_main_activity2
中添加onClick
标记在该按钮中
android:onClick="HomePage"
在setContentView的MainActivity2
中改变如下
setContentView(R.layout.activity_main_activity2);
在第一项活动中,这样做
public void change(View v){
Intent mIntent = new Intent(MainActivity.this,MainActivity2.class);
startActivity(mIntent);
}
在第二项活动中,这样做
public void HomePage(View v){
Intent mIntent = new Intent(MainActivity2.this,MainActivity.class);
startActivity(mIntent);
}
不要忘记在清单
中声明这些活动