Android 如何使按钮打开新的布局xml
我正在尝试为我的应用程序制作一个按钮,它将把屏幕带到另一个页面。然而,我没有成功地做到这一点 我尝试过很多事情,但没有一个令人满意的答案 我的项目不接受程序中的“意图”。 我需要打开新布局的按钮称为“OptionButton” 以下是我得到的: 在MainActivity.java中 一开始我得到了这个Android 如何使按钮打开新的布局xml,android,xml,eclipse,button,layout,Android,Xml,Eclipse,Button,Layout,我正在尝试为我的应用程序制作一个按钮,它将把屏幕带到另一个页面。然而,我没有成功地做到这一点 我尝试过很多事情,但没有一个令人满意的答案 我的项目不接受程序中的“意图”。 我需要打开新布局的按钮称为“OptionButton” 以下是我得到的: 在MainActivity.java中 一开始我得到了这个 public class MainActivity extends Activity { private Button startButton; private Bu
public class MainActivity extends Activity {
private Button startButton;
private Button pauseButton;
private Button resetButton;
public Button OptionButton;
/** further I got this**/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
/** (I'm just mentioning this because I use savedInstanceState here too)**/
/**MainActivity.java And my code for my button is this **/
OptionButton = (Button) findViewById(R.id.Button1);
OptionButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
myClick(v); /* my method to call new intent or activity */
}
public void myClick(View v) {
Intent intent = new Intent(this, Background2.class);
startActivity(intent);// for calling the activity
}
});
}
}
}
我在AndroidManifest中添加了这个:
_
我在src地图上有两个类:
-背景2.java
-MainActivity.java
还有2个布局xml:
- activity_main.xml
- 活动main2.xml
<Button
android:id="@+id/Button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="@string/OptionButtonLabel"/>
但是它不起作用。在您正在调用的侦听器的内部
this
(它指的是侦听器本身),而您要指的是main活动
干脆换成
Intent intent = new Intent(MainActivity.this, Background2.class);
您的主要活动必须实现OnClickListner
public class MainActivity extends Activity implements OnClickListener{
在Eclipse IDE中,按Ctrl+Shift+O,它将自动实现和导入必要的功能谢谢您的回答!:)
我试着把它安装在我真正的设备上。
现在,它打开了,但打开的是第二个xml,当我单击按钮时,它会重新打开相同的xml
:-/
不过,当我更改了建议的解决方案(来自你们两人)时,我没有收到任何错误消息。为了解决这个问题,请更加详细。在Background2.java中,检查setContentView行(R.layout.name_of_xml_to_open);检查此处是否有正确的名称。
button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(this);
Intent intent = new Intent(MainActivity.this, Background2.class);
public class MainActivity extends Activity implements OnClickListener{