2

所以我在 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;
    }
}
4

3 回答 3

6

在您的 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>
于 2013-01-08T05:06:29.303 回答
2

将您的 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);
            }
        }
    });

}

希望它会帮助你。

于 2013-01-08T04:55:07.617 回答
0

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

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

在 developer.android.com,他们有大量的教程解释了你需要知道的关于 android 的一切。他们甚至为每个类提供了详细的 API。

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

于 2013-01-08T15:45:53.407 回答