【问题标题】:How do I add another listener in the main .java file如何在主 .java 文件中添加另一个侦听器
【发布时间】:2013-09-08 22:05:55
【问题描述】:

当我在(主要活动。x m l)中添加另一个按钮(nextButton2)时! 现在我想让按钮打开(第三个 screen.x m l)

你能帮我在 (main.java) 的这个 android 项目中添加监听器但失败了吗?

link original project

my project link

【问题讨论】:

  • 请将相关部分源码直接贴在StackOverflow上。

标签: android button project listener add


【解决方案1】:

按照您的代码中的现有逻辑,它可能看起来像这样:

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViewById(R.id.nextButton).setOnClickListener(new handleButton());
        findViewById(R.id.nextButton2).setOnClickListener(new handleButton2());
    }
    class handleButton implements OnClickListener {
        public void onClick(View v) {
            Intent intent = new Intent(Main.this, Screen2.class);
            startActivity(intent);  
        }
    }

    class handleButton2 implements OnClickListener {
        public void onClick(View v) {
            Intent intent = new Intent(Main.this, Screen3.class);
            startActivity(intent);  
        }
    }
}

假设您已经创建了名为 Screen3.java 的新活动并将其添加到清单文件中:

<activity android:name="your.project.package.Screen3" android:label="@string/app_name" />

【讨论】:

    【解决方案2】:

    有很多方法可以实现:

    匿名听众

    如果您只需要一次监听器:

    public class Main extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            button1.setOnClickListener(new OnClickListener() {
                // your first listener here
            });
            button2.setOnClickListener(new OnClickListener() {
                // your second listener here
            });
        }
    }
    

    多个嵌套类

    如果你想在同一个类中复用监听器:

    public class Main extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            button1.setOnClickListener(new Listener1());
            button2.setOnClickListener(new Listener2());
        }
    
        class Listener1 implements OnClickListener {
            // your first listener here
        }
    
        class Listener2 implements OnClickListener {
            // your second listener here
        }
    }
    

    多个顶级类

    如果你想在多个类中重复使用监听器:

    public class Main extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            button1.setOnClickListener(new Listener1());
            button2.setOnClickListener(new Listener2());
        }
    }
    
    class Listener1 implements OnClickListener {
        // your first listener here
    }
    
    class Listener2 implements OnClickListener {
        // your second listener here
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多