Android 数百个按钮的替代品
我要写一些android应用程序,它基本上由两个活动组成。所以第一个应该有很多按钮(100+),点击其中任何一个,我就会得到一些特殊的id,然后转到第二个活动。但是,是否有其他方法可以声明数百个按钮,并将一段代码复制/粘贴到每个按钮上,设置几乎相同的onClickLister?有什么特别的建筑吗?谢谢Android 数百个按钮的替代品,android,button,Android,Button,我要写一些android应用程序,它基本上由两个活动组成。所以第一个应该有很多按钮(100+),点击其中任何一个,我就会得到一些特殊的id,然后转到第二个活动。但是,是否有其他方法可以声明数百个按钮,并将一段代码复制/粘贴到每个按钮上,设置几乎相同的onClickLister?有什么特别的建筑吗?谢谢 编辑:每个按钮实际上都从1到n进行索引。然后单击第二个活动将启动,并获取该索引以显示它。我基本上不能使用任何微调器或smth其他,因为将有3行可点击的东西,每个都带有不同的图像 编辑2:所以,为了
编辑:每个按钮实际上都从1到n进行索引。然后单击第二个活动将启动,并获取该索引以显示它。我基本上不能使用任何微调器或smth其他,因为将有3行可点击的东西,每个都带有不同的图像
编辑2:所以,为了给你一个想法,当你真正选择你想玩的关卡时,我会做一些类似愤怒的小鸟菜单中的按钮表。因此,单击后您将获得按钮的id并开始第二个活动您应该使用
列表视图
ListView非常适合同时处理许多项。它们对用户来说也是自然的。此外,您只需单击一次侦听器-OnItemClickListener
在中有一个关于如何使用ListView的有用示例。调用该方法以添加按钮
private void addButton(){
LinearLayout view = (LinearLayout) findViewById(R.id.linear_layout_id_here);
Button btn = null;
int w = 50;
int h = 25;
for(int i=1; i<100; i++) {
btn = new Button(this);
btn.setLayoutParams(new LayoutParams(w,h));
btn.setText("button " +i);
btn.setTag(""+i);
btn.setOnClickListener(onClickBtn);
view.addView(btn);
btn = null;
}
}
您可以在代码中添加按钮,如下所示:
@Override
public void onCreate(Bundle savedInstanceState) {
/*your code here*/
GroupView gw =findViewById(R.id.pnlButtonscontainer); //find the panel to add the buttons
for(int i=0; i<100; i++) {
Button b = new Button(this);
b.setLayoutParameters(new LayoutParameters(w,h));
b.settext = i+"";
b.setOnClickListener(new OnClickListener(){
});
}
}
@覆盖
创建时的公共void(Bundle savedInstanceState){
/*你的代码在这里*/
GroupView gw=findViewById(R.id.pnlButtonscontainer);//查找面板以添加按钮
对于(int i=0;i“我基本上不能使用任何微调器或smth其他工具,因为将有3行可单击的内容,每个都带有不同的图像”--使用GridView
。请向我们提供您的应用程序用途的完整描述。可能100个按钮是实现此目的的方法,但可能不是,如果您解释用途而不是机制,我们将能够说。祝您好运。
@Override
public void onCreate(Bundle savedInstanceState) {
/*your code here*/
GroupView gw =findViewById(R.id.pnlButtonscontainer); //find the panel to add the buttons
for(int i=0; i<100; i++) {
Button b = new Button(this);
b.setLayoutParameters(new LayoutParameters(w,h));
b.settext = i+"";
b.setOnClickListener(new OnClickListener(){
});
}
}