android的Button数组怎样用循环找到layout里面的button
layout里面定义的BUTTON<Buttonandroid:id="@+id/button0"/><Buttonandroid:id="@+id/button1"/>...
layout里面定义的BUTTON
<Button android:id="@+id/button0"/>
<Button android:id="@+id/button1"/>
<Button android:id="@+id/button2"/>
这个是在Activity里面写的代码
Button btn[];
btn = new Button[bubble_num];
for(int i = 0; i < bubble_num; i++){
btn[i] = (Button)findViewById(???);
这个括号里面应该怎样写才能找到那几个按钮??
必须要用循环,因为有很多很多Button 展开
<Button android:id="@+id/button0"/>
<Button android:id="@+id/button1"/>
<Button android:id="@+id/button2"/>
这个是在Activity里面写的代码
Button btn[];
btn = new Button[bubble_num];
for(int i = 0; i < bubble_num; i++){
btn[i] = (Button)findViewById(???);
这个括号里面应该怎样写才能找到那几个按钮??
必须要用循环,因为有很多很多Button 展开
4个回答
展开全部
只要涉及到下拉列表等的 就要用到数组Array:
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,countries);
spinner.setAdapter(adapter);//把你要显示的列表信息附加到spinner中,
public void onClick(View v)//(View v)这个是什么意思:你的单击事件,里边的view指你所单击的View对象
arg0.setVisibility(View.VISIBLE);//设置属性,可读不可读,可用不可用等;
你要实现在选择下拉菜单中的内容时不显示到Textview中,单击Button后才显示 你可以在选择的监听事件setOnItemSelectedListener中:
textview2.setText("你的血型是:"+countries[arg2]);//textview2显示下拉列表内容 能不能选择后不显示在我点button后再在textview2中显示出来
换成:新建的一个String类型比如str来保存这个信息
str="你的血型是:"+countries[arg2]
在OnClicklistener单击事件的时候把它显示出来呗:
public void onClick(View v)//(View v)这个是什么意思
{
textview.setText("文本框中内容:"+edittext.getText().toString());
textview2.setText(str);
}
希望对你能有所帮助
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,countries);
spinner.setAdapter(adapter);//把你要显示的列表信息附加到spinner中,
public void onClick(View v)//(View v)这个是什么意思:你的单击事件,里边的view指你所单击的View对象
arg0.setVisibility(View.VISIBLE);//设置属性,可读不可读,可用不可用等;
你要实现在选择下拉菜单中的内容时不显示到Textview中,单击Button后才显示 你可以在选择的监听事件setOnItemSelectedListener中:
textview2.setText("你的血型是:"+countries[arg2]);//textview2显示下拉列表内容 能不能选择后不显示在我点button后再在textview2中显示出来
换成:新建的一个String类型比如str来保存这个信息
str="你的血型是:"+countries[arg2]
在OnClicklistener单击事件的时候把它显示出来呗:
public void onClick(View v)//(View v)这个是什么意思
{
textview.setText("文本框中内容:"+edittext.getText().toString());
textview2.setText(str);
}
希望对你能有所帮助
展开全部
如果你要用FOR循环的话就不能按照你的这个方法来做。需要在代码里面用循环NEW Button控件。
如下:
先建立一个Button的控件数组:buttonA = new Button[bubble_num];
for (int i = 0; i < bubble_num; i++){
mInfo = new RelativeLayout(this);
Button bt = new Button (this);
buttonA [i] = bt;
RelativeLayout.LayoutParams btParams = new RelativeLayout.LayoutParams (80,30); //button的宽高
btParams .leftMargin=20+ 19*i; //定位
btParams .topMargin=16 + 10*i; //定位
mInfo.addView(bt, btParams );
}
你用for循环按照上面来加BUTTON控件应该是行的通的。
设置监听:
for (int i = 0; i <buttonA.length ; i++){
final int n = i;
buttonA[n].setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
}
});
}
如下:
先建立一个Button的控件数组:buttonA = new Button[bubble_num];
for (int i = 0; i < bubble_num; i++){
mInfo = new RelativeLayout(this);
Button bt = new Button (this);
buttonA [i] = bt;
RelativeLayout.LayoutParams btParams = new RelativeLayout.LayoutParams (80,30); //button的宽高
btParams .leftMargin=20+ 19*i; //定位
btParams .topMargin=16 + 10*i; //定位
mInfo.addView(bt, btParams );
}
你用for循环按照上面来加BUTTON控件应该是行的通的。
设置监听:
for (int i = 0; i <buttonA.length ; i++){
final int n = i;
buttonA[n].setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
}
});
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
括号里肯定是一个变量啊:R.id.button+i,你试试行不行。
追问
肯定是不行的啊,再想想其他办法啊
追答
因为r.id.button理论上 就是一个int型,所以用+是不行的,我再想想
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询