【问题标题】:Android Button click go to another xml pageAndroid 按钮单击转到另一个 xml 页面
【发布时间】:2012-12-21 20:35:07
【问题描述】:

所以我在 Eclipse 中所做的,在布局中我有:activity_main.xml 和 activity_main2.xml。我尝试的是在activity_main.xml中创建一个按钮,然后点击进入activity_main2.xml的屏幕

所以在com.example.myfirstapp我有

MainActivity.Java:

package com.example.myfirstapp;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    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.activity_main, menu);
        return true;
    }

    public void click1(View v) {
        Log.i("clicks","You Clicked B1");
        Intent i=new Intent(
                     MainActivity.this,
                     MainActivity2.class);
        startActivity(i);
    }
}

MainActivity2.java

package com.example.myfirstapp;

import android.os.Bundle;
import android.view.Menu;
import android.app.Activity;

public class MainActivity2 extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

【问题讨论】:

  • 在这里找到你的答案:stackoverflow.com/questions/736571/…
  • 请研究更多关于这方面的教程。网上有一堆..
  • 你是否在activity_main.xml中为按钮提供了android:onClick="click1"属性?
  • @user1956735 请看我的回答,它会解决你的问题。
  • 有不止一种方法可以做到这一点。

标签: android xml button next


【解决方案1】:

将您的 FirstyActivity 更改为:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn_go=(Button)findViewById(R.id.YOUR_BUTTON_ID);
            btn_go.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                  Log.i("clicks","You Clicked B1");
              Intent i=new Intent(
                     MainActivity.this,
                     MainActivity2.class);
              startActivity(i);
            }
        }
    });

}

希望对你有所帮助。

【讨论】:

    【解决方案2】:

    在您的 MainActivity.java 文件中写入以下代码,而不是您的代码。

    public class MainActivity extends Activity implements OnClickListener {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button mBtn1 = (Button) findViewById(R.id.mBtn1);
            mBtn1.setOnClickListener(this);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
    
        @Override
        public void onClick(View v) {
            Log.i("clicks","You Clicked B1");
            Intent i=new Intent(MainActivity.this, MainActivity2.class);
            startActivity(i);
        }
    }
    

    并使用以下代码将 MainActivity2 声明到您的 Androidmanifest.xml 文件中。

    <activity
        android:name=".MainActivity2"
        android:label="@string/title_activity_main">
    </activity>
    

    【讨论】:

    【解决方案3】:

    有不止一种方法可以做到这一点。

    这是直接来自 Google 的一个很好的资源: http://developer.android.com/training/basics/firstapp/starting-activity.html

    在 developer.android.com 上,他们提供了大量教程,解释了您需要了解的有关 android 的所有信息。他们甚至为每个类提供了详细的 API。

    如果这没有帮助,有许多不同的资源可以帮助您解决这个问题和其他 android 问题。

    【讨论】:

    • 对!学习整个主题比只找到答案要好
    猜你喜欢
    • 2021-12-07
    • 2016-02-08
    • 2011-12-15
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2015-09-24
    相关资源
    最近更新 更多