android怎么样获取当前activity下所有的textview控件?
我一个activity里面有几十个textview,每个textview都需要动态的设置高度、宽度和添加点击事件,如果用findViewById获取控件,再设置宽高,几十...
我一个activity里面有几十个textview,每个textview都需要动态的设置高度、宽度和添加点击事件,如果用findViewById获取控件,再设置宽高,几十个textview,会非常的麻烦,而且会有很多重复代码,怎么能一次遍历所有textview并设置宽高? 或者说有其它的办法来设置?
展开
2个回答
展开全部
把设置的方法放在一个方法里面,然后把Id当做参数传进去,比如R.id.text1的话,可以这样用一个变量String
baseId="R.id.",这个方法可以写成setConfig(String
strId){String
currentId=baseId+strId;
//后面的代码按下面来
}
然后再用下面的方法
public
static
int
getResourdIdByResourdName(Context
context,
String
ResName){
int
resourceId
=
0;
try
{
Field
field
=
R.drawable.class.getField(ResName);
field.setAccessible(true);
try
{
resourceId
=
field.getInt(null);
}
catch
(IllegalArgumentException
e)
{
log.showLogDebug("IllegalArgumentException:"
+
e.toString());
}
catch
(IllegalAccessException
e)
{
log.showLogDebug("IllegalAccessException:"
+
e.toString());
}
}
catch
(NoSuchFieldException
e)
{
log.showLogDebug("NoSuchFieldException:"
+
e.toString());
}
return
resourceId;
}将currentId作为参数传入就可以了,这时在调用findViewById找,,,
采纳啊,大哥,写了这么多
baseId="R.id.",这个方法可以写成setConfig(String
strId){String
currentId=baseId+strId;
//后面的代码按下面来
}
然后再用下面的方法
public
static
int
getResourdIdByResourdName(Context
context,
String
ResName){
int
resourceId
=
0;
try
{
Field
field
=
R.drawable.class.getField(ResName);
field.setAccessible(true);
try
{
resourceId
=
field.getInt(null);
}
catch
(IllegalArgumentException
e)
{
log.showLogDebug("IllegalArgumentException:"
+
e.toString());
}
catch
(IllegalAccessException
e)
{
log.showLogDebug("IllegalAccessException:"
+
e.toString());
}
}
catch
(NoSuchFieldException
e)
{
log.showLogDebug("NoSuchFieldException:"
+
e.toString());
}
return
resourceId;
}将currentId作为参数传入就可以了,这时在调用findViewById找,,,
采纳啊,大哥,写了这么多
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询