Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使按钮打开新的布局xml_Android_Xml_Eclipse_Button_Layout - Fatal编程技术网

Android 如何使按钮打开新的布局xml

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

我正在尝试为我的应用程序制作一个按钮,它将把屏幕带到另一个页面。然而,我没有成功地做到这一点

我尝试过很多事情,但没有一个令人满意的答案

我的项目不接受程序中的“意图”。 我需要打开新布局的按钮称为“OptionButton”

以下是我得到的:

MainActivity.java中 一开始我得到了这个

    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
在Activity_main中,我为按钮获取了以下内容:

<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{