`
wang_peng1
  • 浏览: 3900831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用自己的r文件进行反射以及遍历linearout包含的控件

 
阅读更多

我的布局里面有很多个textView 我总不能一个个重新设置 但是他们有 很多共性

 

public final class R { 
   
public static final class attr { 
   
} 
   
public static final class drawable { 
       
public static final int icon=0x7f020000; 
   
} 
   
public static final class id { 
       
public static final int s1=0x7f050000; 
       
public static final int s10=0x7f050009; 
       
public static final int s11=0x7f05000a; 
       
public static final int s12=0x7f05000b; 
       
public static final int s13=0x7f05000c; 
       
public static final int s14=0x7f05000d; 
       
public static final int s15=0x7f05000e; 
       
public static final int s16=0x7f05000f; 
       
public static final int s2=0x7f050001; 
       
public static final int s3=0x7f050002; 
       
public static final int s4=0x7f050003; 
       
public static final int s5=0x7f050004; 
       
public static final int s6=0x7f050005; 
       
public static final int s7=0x7f050006; 
       
public static final int s8=0x7f050007; 
       
public static final int s9=0x7f050008; 
   
} 
   
public static final class layout { 
       
public static final int main=0x7f030000; 
       
public static final int toast=0x7f030001; 
   
} 
   
public static final class string { 
       
public static final int app_name=0x7f040000; 
       
public static final int s2=0x7f040001; 
   
} 
} 
上面的是我的r文件

import java.lang.reflect.Field; 
/* ... */ 
 
for (int i = 1; i < 16; i++) { 
   
int id = R.id.class.getField("s" + i).getInt(0); 
    tv
[i] = (TextView)findViewById(id); 
    tv
[i].setTypeface(face); 
    tv
[i].setClickable(true); 
    tv
[i].setOnClickListener(clickListener); 
} 

当然如果你的布局如果只有textView组成 而没有其他的控件那就无需使用这个了

可以使用

public void onCreate(Bundle savedInstanceState) { 
           
super.onCreate(savedInstanceState); 
 
            setContentView
(R.layout.main); 
           
LinearLayout ll = (LinearLayout) findViewById(R.id.LinearLayout01); 
           
for (int i = 0; i < ll.getChildCount(); i++) { 
               
((TextView) ll.getChildAt(i)).setText("Text View " + i); 
           
} 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics