文档章节

android 开发,用一行代码操作只使用一次的 view

oldfeel
 oldfeel
发布于 2015/04/20 05:17
字数 216
阅读 583
收藏 12

使用 for activity:

        ViewHelper helper = new ViewHelper(MainActivity.this);
        helper.id(R.id.text_view).text("hello world");
        helper.id(R.id.button).clicked(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
        helper.id(R.id.image_view).image("http://www.xxxxx.com/xxx.png");

使用 for view:

        View view = LayoutInflater.from(getContext()).inflate(R.layout.view, null);
        ViewHelper helper = new ViewHelper(view);
        helper.id(R.id.text_view).text("hello world");
        helper.id(R.id.button).clicked(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
        helper.id(R.id.image_view).image("http://www.xxxxx.com/xxx.png");

ViewHelper.java 源码

public class ViewHelper {
    private View root;
    private View view;
    private Activity act;

    public ViewHelper(View view) {
        this.root = view;
        this.view = view;
    }

    public ViewHelper(Activity activity) {
        this.act = activity;
    }

    public ViewHelper id(int id) {
        this.view = findView(id);
        return this;
    }

    private View findView(int id) {
        View result = null;
        if (root != null) {
            result = root.findViewById(id);
        } else if (act != null) {
            result = act.findViewById(id);
        }
        return result;
    }

    public ViewHelper text(CharSequence text) {
        if (view instanceof TextView) {
            TextView tv = (TextView) view;
            tv.setText(text);
        }
        return this;
    }

    public ViewHelper clicked(View.OnClickListener listener) {
        if (view != null) {
            view.setOnClickListener(listener);
        }
        return this;
    }

    public ViewHelper image(String uri) {
        return image(uri, null);
    }

    public ViewHelper image(String uri, DisplayImageOptions options) {
        if (view instanceof ImageView) {
            ImageView iv = (ImageView) view;
            ImageLoader imageLoader = ImageLoader.getInstance();
            imageLoader.displayImage(uri, iv, options);
        }
        return this;
    }
}


© 著作权归作者所有

共有 人打赏支持
oldfeel
粉丝 45
博文 78
码字总数 17297
作品 0
防城港
个人站长
私信 提问
ZBLibrary 19.0 发布,Star 数已达 3K

更新内容: 新增一键自动删除所有编译缓存 build 目录的 Window 批处理脚本 clearAllBuildCache.bat; getActivity 抽象到 BaseActivity; 解决条形码与预览框的水平倾角超过30%识别不了,感...

孤独的探索号
2018/11/28
1K
0
AsyncTask(1)一个使用AsyncTask实现简单异步刷新的功能。

一个使用AsyncTask实现简单异步刷新的功能。 实现该功能的过程,前提是您能在eclipse下建立简单android项目。如果您未做过任何的android开发就可能看起来比较吃力了。下面我将开发的代码分块...

acebing
2012/11/15
0
0
Android 开发经验Tips(5)

1. android WebView 加载重定向页面无法后退解决方案 2. GridView 内容自动居中显示 设置完 的个数之后GridView会自动从左到右排列,当不足一行的时候可以通过代码动态设置NumColumns来实现不...

燊在锦官城_
2017/11/07
0
0
官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?

Kotlin KTX 2月5号的时候,Google 发布了一款 Kotlin 的扩展库,叫 Android KTX,不过现在还处于预览版的状态。它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的效率和使用体验。 ...

承香墨影
2018/02/07
0
0
【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation!

李华明Himi 原创,转载务必在明显处注明: 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/331.html 很多童鞋说我的代码运行后,点击home或者back后会程序异常,...

迷途d书童
2012/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

html5代码书写规范

DOCTYPE 页面文档类型统一使用HTML5 DOCTYPE. <!DOCTYPE html> Meta字符集设置 声明方法遵循HTML5的规范, Meta文件使用 "UTF-8" 浏览器显示编码指定. <meta charset="utf-8"> 手机端页面添......

niuhongxia
26分钟前
3
0
怎么修改 phpstorm 中注释的开始位置

PHPStorm 版本:v2018.3 如下图设置:

whoru
35分钟前
2
0
Android Arcface人脸识别sdk使用工具类

public class FaceUtil{ private static final String TAG = FaceUtil.class.getSimpleName(); private static FaceUtil faceInstance = null; public FaceDB mFaceDB; pri......

是哇兴哥棒棒哒
43分钟前
2
0
JFreeChart中文API和树形详解

-------------------------------- JfreeChart 中文API -------------------------------- 要想绘制出漂亮的图表,就必须了解图表的构成部分,将图表进行分解成N个部分。 然后再对每一个部分...

喜欢搬砖的农民工
44分钟前
2
0
Android ViewPager

1.PagerAdapter { public int getCount() { return list.size(); } public Object instantiateItem(ViewGroup container, int postion) { container.addView(iv); return iv; } public void ......

Coding缘
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部