这里是我的代码:它包含了一个名为button1A按钮,当我点击它,它会打开一个名为list1的列表。 我怎样才能把一个代码,我命名为button2A它打开一个列表,列表2另一个按钮。
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Tab_1st extends Activity {
Button button1A;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tablayout1);
addListenerOnButton();
}
public void addListenerOnButton() {
button1A = (Button) findViewById(R.id.button1A);
button1A.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent a1 = new Intent(v.getContext(), List1.class);
startActivity(a1);
}
});
}
}
更改addListenerOnButton
使用方法switch-case
,尽量减少代码,并添加单OnClickListener
监听到多个按钮:
public void addListenerOnButton() {
button1A = (Button) findViewById(R.id.button1A);
button1A.setOnClickListener(clicklistener);
// add OnClickListener to second Button
button1B = (Button) findViewById(R.id.button1B);
button1B.setOnClickListener(clicklistener);
OnClickListener clicklistener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.button1A:
// start second List Activity
Intent a1 = new Intent(v.getContext(), List1.class);
startActivity(a1);
break;
case R.id.button2A:
// start second List Activity
Intent a2 = new Intent(v.getContext(), List2.class);
startActivity(a2);
break;
}
}
};
}
如果你愿意,你可以添加更多的点击听众。 尝试这样的。
public void addListenerOnButton() {
button1A = (Button) findViewById(R.id.button1A);
button1A.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent a1 = new Intent(v.getContext(), List1.class);
startActivity(a1);
}
});
button2A = (Button) findViewById(R.id.button2A);
button2A.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(v.getContext(), List2.class);
startActivity(i);
}
});
}
这样做的一种方式,可以通过实现OnClickListener。
public class Tab_1st extends Activity implements OnClickListener {
Button button1A;
Button button2A;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tablayout1);
button1A = (Button) findViewById(R.id.button1A);
button2A = (Button) findViewById(R.id.button2A);
button1A.setOnClickListener(this);
button2A.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == button1A) {
// Start Activity a1
Intent a1 = new Intent(v.getContext(), List1.class);
startActivity(a1);
} else if (v == button2A) {
// Start Activity a2
Intent a2 = new Intent(v.getContext(), List2.class);
startActivity(a2);
}
}
}