当前位置:首页 » 安卓系统 » android遍历控件

android遍历控件

发布时间: 2022-08-31 16:57:51

⑴ Android怎么对控件数组的每一个元素赋值

Android可以遍历每一个控件,使用instanceof判断类型进行相应的赋值。
比如:Button button = new Button(this);
ImageView textView = new ImageView(this);
View[] views = new View[] {button, textView};
for (View itemview : views) {

if (itemview instanceof TextView) {
System.out.println("This is a imageView");
}
if (itemview instanceof Button) {
System.out.println("This is a button");
}
}
但是要注意一下继承关系,比如Button extends TextView。因此Button 也会走TextView的判断方法,因此需要把子类判断放在前面,得到合适的即continue;
for (View itemview : views) {
if (itemview instanceof Button) {
System.out.println("This is a button");
continue
}
if (itemview instanceof TextView) {
System.out.println("This is a TextView");
continue;
}
if (itemview instanceof TextView) {
System.out.println("This is a imageView");
continue;
}

}

⑵ android的ViewpPger中,如何遍历得到下面布局问加你中的所有控件,方便对空间进行统一管理

你可创建一个集合来保存你的几个布局:private ArrayList<View> pageViews;
pageViews = new ArrayList<View>();
pageViews.add(v1);
pageViews.add(v2);
pageViews.add(v3);
pagerAdapter = new ViewPagerAdapter(pageViews);
这里创建Adapter的时候把这个集合传进去。
然后:uiControl = new UIControlForIntegrate(handler, OnAppPressedListener,
this);
uiControl.setResource(pageViews);//控制ui的地方也把这个集合传进去。这样它们指向的都是一个对象。你可以很方便的控制UI。或者你没有控制UI的类。直接在你的主类里面也可直接用这个集合里的View.

⑶ android如何获得界面上所有的控件还要遍历,我只能获得当层的,但是我想获得全部控件……

先拿根布局啊,再getChild(), 一层层遍历下去呗。
你的需求很怪。

⑷ android遍历界面上的所有控件后,如何判断控件是什么类型

可以通过它的类名来判断:v.getClassName() == "Button"
也可以通过instanceof判断:v instanceof Button

public class Main extends Activity

{

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

LinearLayout loginLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.main, null);

String pa="";//遍历所有控件

for (int i = 0; i < loginLayout.getChildCount(); i++)

{

View v=loginLayout.getChildAt(i);

//如何判断是Button或者是TextBox

if(){

Object v = tabWidget.getChildAt(i);

if (v instanceof RelativeLayout)

{

}

}

}

}

⑸ Android中selector使用详解

选择器在android中使用的非常广泛,点击反馈、选中、使能、聚焦等状态切换都会用到选择器。
一:下面是一个简单的选择器:

android:enterFadeDuration="200" 、android:exitFadeDuration="200":进入新状态或退出旧状态时会有一个200毫秒的渐变动画。这两个属性使用的比较常见,可以使选择器的状态切换更加平滑。

以下几个都是Drawable的属性。
android:autoMirrored="true"对应drawable.setAutoMirrored(),这个属性表示是否将drawable镜像显示,只有在从右往左布局的环境下才会生效。将此属性设置成true,并将语言调节成阿拉伯语便可以看到效果。
android:dither="true"对应drawable.setDither(),这个属性表示是否对图像进行抖动处理。当图像的bit-color较少时,通过颜色值的抖动来增加可用颜色数量,并保持较好的显示效果。
android:visible="true" 对应drawable.setVisible(),设置Drawable是否可见,一般不会影响Drawable的行为,但是它是Drawable是否运行了动画的一个暗示。例如:AnimationDrawable可以通过这个方法启动或者停止动画。

剩下两个属性对应DrawableContainer$DrawableContainerState里面的属性(DrawableContainer是Drawable的一个子类,DrawableContainerState是DrawableContainer的内部类)。
android:constantSize="true":当选择器各个状态的图片大小不一时,设置为 true表示以最大的图片的尺寸显示,设置为false以默认的图片的尺寸显示(控件大小会对现象有影响,需要是包裹内容的)。
android:variablePadding="false" :默认为false,这个属性意义不大,通常不去设置。

二:Item的各种状态,理解起来相对简单,都可以从属性的名字去理解其含义,例如:

状态为加速的时候会显示ic_launcher_m图片,那么是什么加速呢?这就需要自己去分析一下,其实这里指的加速是对View的软件加速或硬件加速。

当给View设置background、foreground或ImageView设置src时只能写android:drawable="id":

当给文字颜色添加选择器的时候必须要写android:color="ARGB|RGB颜色值"

三:注意安卓程序在读取选择器文件时,是从上往下一个一个节点进行遍历的,程序会选择符合当前控件状态的第一个Item的内容。如果一个Item不写任何状态,表示它任何状态都符合, 所以一般最后一个Item是不会写任何状态的(就像if(){}else if(){}else{}语句一样,最后一个包含了剩下的所有情况)。

四:选择器的Item和animated-rotate一起使用。

五:动态创建选择器
动态创建一个简单的选择器:

用一张图片,通过对图片的着色创建选择器:

创建矢量图选择器:

TextView文字颜色选择器:

部分常用状态数组:

⑹ android中怎么遍历自定义listview控件中的checkbox

listview 本身就是一个循环,只需要定义CheckBox cb=(CheckBox)findViewById(R.id.CheckboxXX);就可以把checkbox全部遍历出来。

⑺ android 遍历所有控件

获取总得TabLayout, 强转成ViewGroup,传入下面方法

private void getButtons(ViewGroup viewGroup) {
if (viewGroup == null) {
return;
}
int count = viewGroup.getChildCount();
for (int i = 0; i < count; i++) {
View view = viewGroup.getChildAt(i);
if (view instanceof Button) { // 若是Button记录下
Button newDtv = (Button) view;
} else if (view instanceof ViewGroup) {
// 若是布局控件(LinearLayout或RelativeLayout),继续查询子View
this.getButtons((ViewGroup) view);
}
}
}

⑻ android怎么样获取当前activity下所有的textview控件

把设置的方法放在一个方法里面,然后把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找,,,
采纳啊,大哥,写了这么多

⑼ Android中怎么遍历ListView,将数据带到下一页

java">tel.setText(t);
这句话,t应该是数字类型吧,比如“132656444”这种,遇到这种情况,Android会认为你的这个字串是某个资源的ID的,然后根据这个ID去寻找资源,找不到当然空指针了。你可以去R.java里面找找,就知道每个资源对应一个ID.你就把这句话改成
tel.setText(String.valueOf(t));
应该就没问题了~,希望对你有帮助哈。

热点内容
mc服务器搭建搜不到 发布:2025-01-12 17:57:37 浏览:16
手机手势密码忘了怎么办 发布:2025-01-12 17:14:51 浏览:486
这手机配置有什么颜色的电视机 发布:2025-01-12 17:02:19 浏览:933
阁源码 发布:2025-01-12 16:48:08 浏览:131
组装机箱搭建服务器 发布:2025-01-12 16:46:58 浏览:512
风险资产配置理论有哪些 发布:2025-01-12 16:46:13 浏览:982
小程序分销源码 发布:2025-01-12 16:42:41 浏览:48
linux查看系统硬件 发布:2025-01-12 16:34:26 浏览:969
安卓手机怎么设置独享标志 发布:2025-01-12 16:27:56 浏览:933
我的世界如何把材质包放进服务器 发布:2025-01-12 16:11:14 浏览:57