`
java-mans
  • 浏览: 11416182 次
文章分类
社区版块
存档分类
最新评论

另一种获得控件的方法public View getChildAt(int index)

 
阅读更多

另一种获得控件的方法public View getChildAt(int index)

除了在布局文件里里面给控件设ID,然后通过findViewById(int id)方法得到控件外,还有另一种方法:

比如有这样一个布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

</LinearLayout>

我们没有为2个TextView设置ID,但是照样可以得到它们,方法如下
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
TextView tv1 = (TextView) linearLayout.getChildAt(0);
TextView tv2 = (TextView) linearLayout.getChildAt(1);

用getChildAt方法也可以得到控件



分享到:
评论

相关推荐

    android的view遍历以及多重查找

    本资源提供对于ViewGroup下所以子view的遍历,以及调用Views都过tag或者Widget的类查找返回一个List&lt;View&gt; 使用方法可见示例: 子View遍历 ViewGroup root = (ViewGroup) findViewById(android.R.id.content); ...

    Android 日期控件只显示年月

    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { textview.setText(year + "-" + (monthOfYear + 1)); } }, calendar.get(Calendar.YEAR), ...

    ViewPager 放大缩小左右移动

    public void onPageSelected(int position, int prePosition) { // This space for rent } @Override public void onPageScrollStateChanged(int state) { // This space for rent } } public ...

    DragLinearLayout-使子View可拖动的LinearLayout.zip

    DragLinearLayout是一个LinearLayout, 他可是其子View在其范围内可拖动、可交换位置。默认情况下,子View是不可拖动的,你需要调用DragLinearLayout.setViewDraggable(child, child)方法让其可拖动。项目地址:...

    仿QQ消息控件SwipeRefreshDemo.zip

     public void onMenuItemClick(int position, SwipeMenu menu, int index) {  switch (index) {  case 0: //第一个选项  Toast.makeText(MainActivity.this,"您点击的是置顶",Toast.LENGTH_SHORT)....

    Android酷炫转动菜单

    final View child = getChildAt(i); if (child.getVisibility() == GONE) { continue; } int makeMeasureSpec = -1; if (child.getId() == R.id.id_circle_menu_item_center) { ...

    Android 生成带图像的下拉选择框列表.rar

     另一个是所有资源字符串(足球、篮球、排球)id的数组:  int[] msgIds={R.string.zq,R.string.lq,R.string.pq};  然后动态生成每个下拉项对应的View,每个下拉项View由LinearLayout中包含一个ImageView及一个...

    可以滑动界面切换tab

    public boolean onTouch(View v, MotionEvent event) { if (gestureDetector.onTouchEvent(event)) { return true; } return false; } }; frameLayout = tabHost.getTabContentView(); ...

    Android编程记录ListView标记行状态的方法

    本文实例讲述了Android编程记录ListView标记行状态的方法。分享给大家供大家参考,具体如下: ... adapterView, View view, int pos, long arg3) { /** * 在ListView中,使用getChildAt(index)的取

    滑动启动页

    public void onPageScrolled(int arg0, float arg1, int arg2) { } // 当新的页面被选中时调用 @Override public void onPageSelected(int arg0) { // 设置底部小点选中状态 setCurrentDot(arg0); } }

    XML Tree Class (make xml parsing easy)

    解析xml文件或者string更加容易,使用简单 支持unicode,multibytes编码 class CXmlTree { public: BOOL fromXml(const TCHAR* pszSource, BOOL bFromFile);... CXmlTree* getChildAt(int nIndex); };

    android顶部滑动导航

    public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } public void onPageScrollStateChanged(int arg0) { // TODO Authio-...

    RecyclerViewPager-一个基于RecyclerView实现的ViewPager,支持类似于gallary的fling操作.zip

     public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {  if (mRecyclerView.getChildCount() &lt; 3)...

    蝉游记安卓客户端源码

    public void onCheckedChanged(RadioGroup radioGroup, int checkId) { for (int i = 0; i ; i++) { TextView text = (TextView) layout_tv.getChildAt(i); text.setBackgroundColor(getResources().getColor(R....

    listview 选中高亮显示实现方法

    刚开始实现的时候,我打算使用ListView的 getChildAt(int pos)方法来实现,结果发现非常的cao蛋,因为ListView本身的原因,当你View view=listView.getChildAt(pos),并且改变这个View的状态时,你会发现,高亮的...

    content2picture:先看需求: 当内容已经超出了手机可显示的范围时,要截取这些所有的内容,从而生成所谓的”长截图”. 没什么难点,利用了webview的特点,和scrollview 的view的绘制,生成bitmap

    没什么难点,利用了webview的特点,和scrollview 的view的绘制,生成bitmap。 主要代码: //这是scrollview的 public static Bitmap getBitmapByView(ScrollView scrollView) { int h = 0; Bitmap bitmap = null; ...

    csnd版android

    public void onClick(View view) { if (view == mMenu_cloud){ setActionBarTitle(mMenu_name[0]); changeFragment(new CloudFragment()); }else if (view == mMenu_industry){ setActionBarTitle...

    谷歌开源的Android排版库 FlexboxLayout.zip

    View view = flexboxLayout.getChildAt(0); FlexboxLayout.LayoutParams lp = (FlexboxLayout.LayoutParams) view.getLayoutParams(); lp.order = -1; lp.flexGrow = 2; view.setLayoutParams(lp);屏幕...

    Android 阶梯式展开菜单特效 源码

    的onOpen()方法然后对每一个View设置 view.setElevation(dp2px(1));当关闭的时候onStartClose() 再次对每一个view设置原始高度 View view = layout.getChildAt(i); view.setElevation(dp2px(i));

    Android基于ViewDragHelper仿QQ5.0侧滑界面效果

    ①自定义控件SlidingMenu继承FrameLayout,放在FrameLayout上面的布局一层叠着者一层,通过getChildAt()可以很方便的获取到任意一层,进而控制此布局的变化。 public class SlidingMenu extends FrameLayout { ...

Global site tag (gtag.js) - Google Analytics