java - Android 按钮导航与 onclick 监听器

标签 java android navigation

main.xml
--------
|button1| (button press)>page1.xml
|button2| (button press)>page2.xml
|button3| (button press)>page3.xml
|button4| (button press)>page4.xml
|button5| (button press)>page5.xml
|button6| (button press)>page6.xml
-------------------------------------------

当点击一个按钮时,它会转到相应的页面。实现这个的最好/最简单的方法是什么?当我尝试 onclick 监听器时,我尝试了所有方法均无效。我可以让一名听众工作,但当我尝试让多名听众工作时,它就会变得困惑,我无法弄清楚。 我当前的方法是使用这2个java文件
Activity 1.java

package install.fineline;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;

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 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, 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);   

    }

});

Button6 = (Button) findViewById(R.id.towing);

Button6.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

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

}

});

}}

这是我的另一个 java 文件

activity2.java
包安装.fineline;

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

public class Activity2 extends Activity {

Button button1;

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

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

public void onCreate3(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wheels);
}
Button button4;

public void onCreate4(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.speedy);
}
Button button5;

public void onCreate5(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sevan);
}

Button button6;

public void onCreate6(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.towing);
}}

最佳答案

您应该为每个页面定义一项 Activity 。包括主要 Activity 在内,总共有 7 个 Activity 。在主 Activity 中,定义单个 onClickListener 来处理所有点击。

class ClickListener implements View.OnClickListener {
    void onClick(View v) {
       switch(v.getId()) {
        case R.id.btn_1:
             ...
             break;
        ...
       }
    }

将此监听器设置为所有 6 个按钮。

关于java - Android 按钮导航与 onclick 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13478526/

相关文章:

java - java中子类方法中无法访问抽象类对象的属性

java - Elasticsearch : Retrieve long text field from a document

java - RxJava : Chaining Observables w/Builder object

java - 当用户离线时显示对话框并在用户在线时关闭它(使用广播接收器)

android - OsmDroidBonusPack OnMarkerClickListener 未调用

java - 重新启动 Activity 时保存一个 int 值

java - 如何同时使用导航规则和 f :ajax

android - 无法将字符串传递给另一个 Activity

java - 为什么使用 Navigator 和 SpringViewProvider 时页面会加载两次?

css - IE 中禁用的子页面