public class Test1Activity extends Activity {
/** Called when the activity is first created. */
private Button button2;
private Button button3;
private OnClickListener Listener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button2=(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button3);
/*button2.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Test1Activity.this,test2.class);
startActivity(intent);
}});
button3.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Test1Activity.this,test3.class);
startActivity(intent);
}});*/
button2.setOnClickListener(Listener);
button3.setOnClickListener(Listener);
Listener = new OnClickListener()
{ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Button btn=(Button)v;
Intent intent = new Intent();
switch(btn.getId())
{
case R.id.button2:
intent.setClass(Test1Activity.this,test2.class);
startActivity(intent);
finish();
case R.id.button3:
intent.setClass(Test1Activity.this,test3.class);
startActivity(intent);
finish();
}
}
};}
}使用注释起来的可以 而使用switch就不可以了 不知道为什么这是
/** Called when the activity is first created. */
private Button button2;
private Button button3;
private OnClickListener Listener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button2=(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button3);
/*button2.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Test1Activity.this,test2.class);
startActivity(intent);
}});
button3.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Test1Activity.this,test3.class);
startActivity(intent);
}});*/
button2.setOnClickListener(Listener);
button3.setOnClickListener(Listener);
Listener = new OnClickListener()
{ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Button btn=(Button)v;
Intent intent = new Intent();
switch(btn.getId())
{
case R.id.button2:
intent.setClass(Test1Activity.this,test2.class);
startActivity(intent);
finish();
case R.id.button3:
intent.setClass(Test1Activity.this,test3.class);
startActivity(intent);
finish();
}
}
};}
}使用注释起来的可以 而使用switch就不可以了 不知道为什么这是
if(button2 == v){
} else if (button3 == v){
}
即可。
你把case语句里加个break;再试试。
比如
#include<iostream>
#include<memory.h>
using namespace std;
int main()
{
int i = 0;
switch(i)
{
case 0:
cout <<"Hello Wrold1" << endl;
case 1:
cout <<"Hello Wolrd2" << endl;
} return 0;
}c++代码,输出结果是
Hello World1
Hello World2#include<iostream>
#include<memory.h>
using namespace std;
int main()
{
int i = 0;
switch(i)
{
case 0:
cout <<"Hello Wrold" << endl;
break;
case 1:
cout <<"Hello Wolrd1" << endl;
break;
default:
break;
} return 0;
}
这个结果才是
Hello World1也就是说如果没有break的话,下面的语句也会执行下去。startActivity(intent);并不是马上调转,而是向AmS申请跳转,后面的语句也会执行到
没有报错啊 就是活动没有办法跳转 想情况下是可以的 但是实际 上 仍是在一个界面的 就是没有跳转成功 如果活动个数就是两个的话 可相互跳转 三个 就不行 加上break .没有用 试过了
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class Test1Activity extends Activity implements OnClickListener
{
private Button button2;
private Button button3;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
button2=(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button3);
// button2.setOnClickListener(new OnClickListener()
// {
// public void onClick(View v)
// {
// // TODO Auto-generated method stub
// Intent intent = new Intent();
// intent.setClass(Test1Activity.this,test2.class);
// startActivity(intent);
// }
// });
// button3.setOnClickListener(new OnClickListener()
// {
// public void onClick(View v)
// {
// // TODO Auto-generated method stub
// Intent intent = new Intent();
// intent.setClass(Test1Activity.this,test3.class);
// startActivity(intent);
//
// }
// });
button2.setOnClickListener(this);
button3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
switch(v.getId())
{
case R.id.button2:
intent.setClass(Test1Activity.this,test2.class);
startActivity(intent);
finish();
break;
case R.id.button3:
intent.setClass(Test1Activity.this,test3.class);
startActivity(intent);
finish();
break;
}
}
}
你那样好像点击事件无法执行