android 控件数组定义和使用问题
我是初学者,对android的编码规范实在是一知半解。现在想自定义一组Button,在循环中为各个button添加一些属性,然后将button添加到当前唯一的layout...
我是初学者,对android的编码规范实在是一知半解。
现在想自定义一组Button,在循环中为各个button添加一些属性,然后将button添加到当前唯一的layout中去显示。
代码如下,编辑器没有报语法错误,但在模拟器中无法运行。求解!
public class MainActivity extends Activity {
Button[] bv;
RelativeLayout bk;
int i;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bk=(RelativeLayout)findViewById(R.id.bk);
bv=new Button[10];
for (i=0;i<10;i++){
bv[i] = null;
bv[i].setWidth(120);
bv[i].setHeight(30);
bv[i].setBackgroundColor(0xff0000ff);
bv[i].setTextColor(0xffff0000);
bv[i].setText("hello");
bk.addView(bv[i]);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
} 展开
现在想自定义一组Button,在循环中为各个button添加一些属性,然后将button添加到当前唯一的layout中去显示。
代码如下,编辑器没有报语法错误,但在模拟器中无法运行。求解!
public class MainActivity extends Activity {
Button[] bv;
RelativeLayout bk;
int i;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bk=(RelativeLayout)findViewById(R.id.bk);
bv=new Button[10];
for (i=0;i<10;i++){
bv[i] = null;
bv[i].setWidth(120);
bv[i].setHeight(30);
bv[i].setBackgroundColor(0xff0000ff);
bv[i].setTextColor(0xffff0000);
bv[i].setText("hello");
bk.addView(bv[i]);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
} 展开
3个回答
展开全部
RelativeLayout需要设置控件的margin,建议把你的bk改为linearlayout试试。
还有如果不是通过布局添加控件setWidth和setHeight是不管用的,使用View.setLayoutParams设置控件大小。
希望能够帮到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
模拟器上不可以,真机可以吗,还有啊,不知道是不是布局的原因,个人建议可以将RelativeLayout改为linearLayout
追问
改linearlayout了,也在真机上试了,真机是android4.2.1,也不行啊。
追答
直接不显示还是显示空白界面啊,如果是空白界面的话应该是你的添加方式不对。
添加布局有2种方式,一种是通过在xml文件定义layout,另一种方式是在java代码中动态生成布局文件。这是在网上找到的,希望能帮到你http://www.myexception.cn/android/1439721.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |