Java 在一个活动android应用程序中创建多个函数

Java 在一个活动android应用程序中创建多个函数,java,android,xml,Java,Android,Xml,问题1: 我有两项活动。我想知道如何优化它。我可以创建两个具有多个侦听器的活动。或者为每个按钮创建多个java文件(onclick listener) 问题2:我曾尝试在一个java中创建多个侦听器,但只能使用一个按钮。一个java文件中多个侦听器的语法是什么?这是我的*更新代码: 现在的问题是,无论点击哪个按钮,它都会指向同一个页面。我认为这一问题已在这些括号内的案文中指出[-{}-] activity1.java package install.fineline; import andro

问题1: 我有两项活动。我想知道如何优化它。我可以创建两个具有多个侦听器的活动。或者为每个按钮创建多个java文件(onclick listener) 问题2:我曾尝试在一个java中创建多个侦听器,但只能使用一个按钮。一个java文件中多个侦听器的语法是什么?这是我的*更新代码: 现在的问题是,无论点击哪个按钮,它都会指向同一个页面。我认为这一问题已在这些括号内的案文中指出[-{}-] activity1.java

package install.fineline;

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

public class Activity1 extends Activity {

Button Button1;
Button Button2;
Button Button3;
Button Button4;
Button Button5;
Button Button6;
[-{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fineline);
addListenerOnButton();
}
}-]

public void addListenerOnButton() {

final Context context = this;

Button1 = (Button) findViewById(R.id.autobody);

Button1.setOnClickListener(new OnClickListener() {


    public void onClick(View arg0) {

        Intent intent = new Intent(context, Activity2.class);
        startActivity(intent);   

    }

});

Button2 = (Button) findViewById(R.id.glass);

Button2.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, Activity2.class);
        startActivity(intent);   

    }

});

Button3 = (Button) findViewById(R.id.wheels);

Button3.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, Activity2.class);
        startActivity(intent);   

    }

});

Button4 = (Button) findViewById(R.id.speedy);

Button4.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, Activity2.class);
        startActivity(intent);   

    }

});

Button5 = (Button) findViewById(R.id.sevan);

Button5.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, Activity2.class);
        startActivity(intent);   

    }

});
按钮6=(按钮)findViewById(R.id.towing)

Button6.setOnClickListener(新的OnClickListener(){


您的答案肯定是正确的。但是永远不会调用
onCreate1
onCreate2
,等等。请尝试以下方法:

package install.fineline;

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

public class Activity1 extends Activity {

Button button1;
Button button2;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fineline);
    addListenerOnButton();
}

public void addListenerOnButton() {

    final Context context = this;

    button1 = (Button) findViewById(R.id.autobody);

    button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(context, AutoBodyActivity.class);
            startActivity(intent);   

        }

    });

    button2 = (Button) findViewById(R.id.glass);
    button2.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        Intent intent = new Intent(context, GlassActivity.class);
        startActivity(intent);   
    }
});
}
并为您想要显示的每个布局分别创建一个
活动
(注意,在上面的代码中,我引用了
AutoBodyActivity
GlassActivity
,而不是
Activity2
):

以及:

创建
活动时,它会将单独的侦听器添加到单独的按钮中。创建
活动时,将自动调用
onCreate()
方法,但从未调用
onCreate1()
方法

我认为你应该看一些,以了解更多的语法,然后通过。这将帮助你理解
活动2
中的代码为什么没有按你认为的方式工作,并让你更好地了解如何处理单独的活动。无意冒犯:)我们都在学习


我希望我的答案对您有所帮助。

我明白了原因。请查看我更新/编辑的答案,了解它的工作原理。
package install.fineline;

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

public class Activity1 extends Activity {

Button button1;
Button button2;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fineline);
    addListenerOnButton();
}

public void addListenerOnButton() {

    final Context context = this;

    button1 = (Button) findViewById(R.id.autobody);

    button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(context, AutoBodyActivity.class);
            startActivity(intent);   

        }

    });

    button2 = (Button) findViewById(R.id.glass);
    button2.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        Intent intent = new Intent(context, GlassActivity.class);
        startActivity(intent);   
    }
});
}
package install.fineline;

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

public class AutoBodyActivity extends Activity {

    public void onCreate1(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.autobody);
    }
}
package install.fineline;

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

public class GlassActivity extends Activity {

    public void onCreate1(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.glass);
    }
}