-1

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

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

链接原始项目

我的项目链接

4

2 回答 2

0

有多种方法可以实现这一目标:

匿名听众

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

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
}
于 2013-09-08T22:18:17.900 回答
0

其次是您的代码中的现有逻辑,这就是它的样子:

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" />
于 2013-09-08T22:22:01.780 回答