我已经知道如何在单击按钮时启动一个新活动,但我在一个布局上有三个按钮。我希望ONE活动的三个按钮中的每一个都链接到其他三个活动。
我有一个名为'main'的活动,Button 1被称为服务,我想将它链接到服务活动。按钮2称为搜索,我希望它转到搜索活动,第三个是“地图”,我想链接到地图活动。
有人可以帮我这么做吗?感谢
编辑:另外,我是Android编码的初学者,你能解释一下吗?
答案 0 :(得分:3)
那么问题出在哪里?只需设置您的类将实现View.OnClickListener
并覆盖onClick()
方法即可。
public class MainActivity extends Activity implements View.OnClickListener {
// body
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.serviceBtn:
Intent serviceIntent = new Intent(this, ServiceActivity.class);
startActivity(serviceIntent);
break;
case R.id.searchBtn:
Intent searchIntent = new Intent(this, SearchActivity.class);
startActivity(searchIntent);
break;
case R.id.mapBtn:
Intent mapIntent = new Intent(this, MapActivity.class);
startActivity(mapIntent);
break;
}
}
答案 1 :(得分:1)
将onclick
个侦听器绑定到所有三个按钮。在侦听器中,检索按钮的ID。创建一个Class
类型的变量。根据按钮ID的值,将其初始化为要调用的活动的类。然后为该课程构建Intent
,并致电startActivity()
。
为hawaii.five-0编辑:这是我怎么做的:
@Override
public void onClick(View view) {
Class c = null;
switch (view.getId()) {
case R.id.serviceBtn:
c = ServiceActivity.class;
break;
case R.id.searchBtn:
c = SearchActivity.class;
break;
case R.id.mapBtn:
c = MapActivity.class;
break;
}
Intent i = new Intent(YourActivity.this, c);
startActivity(i);
}
EDIT2:
class CurrentActivity extends Activity
implements OnClickListener
{
void onCreate(Bundle b)
{
//Other initialization goes here...
((Button)findViewById(R.id.MyButton1)).setOnClickListener(this);
((Button)findViewById(R.id.MyButton2)).setOnClickListener(this);
((Button)findViewById(R.id.MyButton3)).setOnClickListener(this);
}
}
答案 2 :(得分:0)
非常容易亲爱的。只需将此代码放在按钮点击事件
上即可Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);
答案 3 :(得分:0)
单击按钮时非常容易开始新活动 。我举了这个例子。
// R.id.btnAdd -> which is present in your layout page
Button btnStart = (Button) findViewById(R.id.btnAdd); // declare button
// declare listener evernt for button
OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
// declare the Intent for moving another activity
Intent view = new Intent(YourCurrentClassName.this,
anotherClassName.class);
// startActivity is used to navigating the view
startActivity(view);
}
};
// set the listener evernt to button
btnStart.setOnClickListener(listener);