通过设置点击侦听器创建 android 菜单
Create android menu via set on click listener
我想要创建简单的列表菜单:关于,联系我们等等(大约 30-40 个按钮)
点击这个按钮后,我想开始新的 activity
我希望此代码在使用中 class 并且不在 mainactivity
中
我的 xml 代码:http://i.stack.imgur.com/3moSl.png
clcAbout、clcContact 和 clcFB 我的按钮由 linearlayout 创建
感谢
如果问题是缺少用于创建意图的上下文变量,您必须事先将上下文(例如作为构造函数的参数)传递给 class 主活动之外的那个,然后使用那个Intent 构造函数中的上下文变量,如下所示:
Intent intent = new Intent(mycontext, (activity class name).class);
mycontext.startActivity(intent);
编辑:对于 OnClickListeners(虽然我不确定我知道你想做什么):
Intent intent = new Intent(MainActivity.this, (activity class name).class);
MainActivity.this.startActivity(intent);
这是您要找的吗?
public void setUpButtons(final Context context){
Button clc = (Button) findViewById(R.id.clcFB);
clc.setOnClickListener(new MyOnClickListener(0, this));
// etc...
}
private class MyOnClickListener implements OnClickListener{
private int index;
private Context context;
public void MyOnClickListener(int index, Context context){
this.index = index;
this.context = context;
}
@Override
public void onClick(View v){
Intent intent;
switch(index){
case 0:
intent = new Intent(context, MyActivity0.class);
break;
case 1:
intent = new Intent(context, MyActivity1.class);
break;
// etc...
}
if(intent != null){
context.startActivity(intent);
}
}
}
我想要创建简单的列表菜单:关于,联系我们等等(大约 30-40 个按钮)
点击这个按钮后,我想开始新的 activity
我希望此代码在使用中 class 并且不在 mainactivity
中我的 xml 代码:http://i.stack.imgur.com/3moSl.png
clcAbout、clcContact 和 clcFB 我的按钮由 linearlayout 创建
感谢
如果问题是缺少用于创建意图的上下文变量,您必须事先将上下文(例如作为构造函数的参数)传递给 class 主活动之外的那个,然后使用那个Intent 构造函数中的上下文变量,如下所示:
Intent intent = new Intent(mycontext, (activity class name).class);
mycontext.startActivity(intent);
编辑:对于 OnClickListeners(虽然我不确定我知道你想做什么):
Intent intent = new Intent(MainActivity.this, (activity class name).class);
MainActivity.this.startActivity(intent);
这是您要找的吗?
public void setUpButtons(final Context context){
Button clc = (Button) findViewById(R.id.clcFB);
clc.setOnClickListener(new MyOnClickListener(0, this));
// etc...
}
private class MyOnClickListener implements OnClickListener{
private int index;
private Context context;
public void MyOnClickListener(int index, Context context){
this.index = index;
this.context = context;
}
@Override
public void onClick(View v){
Intent intent;
switch(index){
case 0:
intent = new Intent(context, MyActivity0.class);
break;
case 1:
intent = new Intent(context, MyActivity1.class);
break;
// etc...
}
if(intent != null){
context.startActivity(intent);
}
}
}