如何在主.java文件中添加其他活动

时间:2011-12-05 20:05:30

标签: android eclipse button

这是我的主java文件中的代码。我如何制作另一个按钮来连接活动。请告诉我,如果我表达的不够好。我只需要在主java文件中添加另一个按钮。我已经在清单中有一个活动和一个类,我只需要将另一个代码块放入主java文件中。按钮的id是p40,xml布局的名称是p40.xml,该类名为p40.java,活动名为p40。这是我目前的代码:

package com.duncan.hello.world;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.duncan.hello.world.R;

public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    Button aButton;
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    aButton = (Button) this.findViewById(R.id.button1);

    aButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent(HelloWorldActivity.this, OtherActivity.class);
            startActivity(i);
        }});
}
}

3 个答案:

答案 0 :(得分:2)

你应该做

// This code is copied from your code as is 
// to have a reference point as well as this is also
// code for adding click listener to button which you
// need to handle click and then do what you want.
// In this case you are launching an Activity
// Block of code you already have to use STARTS
aButton = (Button) this.findViewById(R.id.button1);

aButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Intent i = new Intent(HelloWorldActivity.this, OtherActivity.class);
        startActivity(i);
    }});
// Block of code you already have to use ENDS

// This code is added for newButton which looks similar to above block
Button newButton
newButton = (Button) this.findViewById(R.id.button2);

newButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Intent i = new Intent(HelloWorldActivity.this, AnOtherActivity.class);
        startActivity(i);
    }});

您必须在button1文件中添加另一个layout/main.xml

答案 1 :(得分:1)

您必须知道有两种可能性: 第一个,你必须分离什么是“activity.xml”和“Activity.class”,在XML中你将声明并配置你的按钮,在.java你将分配想要实现的。 (带/出意图的......)

第二个onws,你必须在你.java中声明你按钮。

我会告诉你: activity.xml

<Button android:id="@+button/test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="First Button"/>
<Button android:id="@+button/test2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Second Button"/>

/////////////////////////////////////////////// ////////////////

Activity.java

...

Button first = (Button)findViewById(R.button.test);
Button second = (Button)findViewById(R.button.test2);

first.setOnclickListener(new OnClickListener() {
    public void onClick(View v) {
        //Do Something guy
    }});

second.setOnclickListener(new OnClickListener() {
    public void onClick(View v) {
        //Do diferent something
    }});

...

我希望我帮忙。 此致

答案 2 :(得分:0)

查看Android Developers Blog: UI framework changes in Android 1.6

特别是底部的“更容易点击监听器”部分。

“使用Android 1.6,这些都不是必需的。您只需要在Activity中声明一个公共方法来处理点击(该方法必须有一个View参数):”

class MyActivity extends Activity {
    public void myClickHandler(View target) {
        // Do stuff
    } }

“然后从XML布局中引用此方法:”

<Button android:onClick="myClickHandler" />

它只是使代码更清洁。