好的,所以我的Android应用程序的主页上有多个按钮。
我似乎一直困惑,因为我已经像这样编写了应用程序。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void aboutus (final View view) {
setContentView(R.layout.aboutus);
System.out.println("about us clicked");
}
我已经点击了xml。
但是,我需要在“关于我们”页面中编写代码。
在我的关于我们课程中,我有以下内容
public class AboutUs extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aboutus);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void onBackPressed() {
setContentView(R.layout.activity_main);
}
}
以下是单击按钮的xml代码
<ImageButton
android:id="@+id/ImageButton01"
android:layout_width="134dp"
android:layout_height="97dp"
android:layout_x="16dp"
android:layout_y="150dp"
android:onClick="aboutus"
android:src="@drawable/aboutus" />
我写的任何代码都没有在该页面上运行?我不知道为什么?任何人都可以帮忙吗?
谢谢。
答案 0 :(得分:1)
像这样更改您的MainActivity
:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void aboutus(final View view)
{
startActivity(new Intent(MainActivity.this, AboutUs.class));
}
和AboutUs.java
类似:
public class AboutUs extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aboutus);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
/* No need of this method */
public void onBackPressed() {
setContentView(R.layout.activity_main);
}
}
android:onClick
用于 API级别4 以上,因此如果您定位&lt; 1.6 ,那么就不能使用它了。
答案 1 :(得分:0)
我认为您正在使用setContentView()
来呼叫另一个Activity
。
您必须使用Intents
Intent in = new Intent(this,AboutUs.class);
startActivity(in);
答案 2 :(得分:0)
你不能只在你的aboutus方法中调用setContentView
,你需要创建一个启动新活动的意图。调用setContentView
只会在当前主活动中设置视图,而不会实例化您的AboutUs
活动类。您的aboutus
方法应类似于:
public void aboutus (final View view)
{
Intent intent = new Intent(this, AboutUs.class);
startActivity(intent);
}