Android-butterknife 简单使用

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

butterknife是一个依赖注入框架,可以省去我们findviewbyid()操作,以前一直使用xutils中的注入功能,这次体验了一下这个,感觉还是有一些差别的。

使用说明:

@viewinject(r.id.xxx)

Textview  xxx;

这里的textview不能是private活着static,否则报错,在xutils中没有这个限制


@onLongClick(R.id.xxx)

boolean method()

这里的method同样不能是private,而且返回类型必须是boolean类型的。



具体测试代码:

1.添加依赖:

compile 'com.jakewharton:butterknife:6.1.0'

2.布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    android:paddingBottom="@dimen/activity_vertical_margin"  
    tools:context=".MainActivity">  
  
    <TextView  
        android:id="@+id/tv_hello"  
        android:text="@string/hello_world"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content" />  
  
    <Button  
        android:id="@+id/bt_changetext"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="改变文字"/>  
  
</RelativeLayout>

3.activity代码:
public class MainActivity extends ActionBarActivity {  
  
    @InjectView(R.id.tv_hello)  
    TextView tv_hello;  
    @InjectView(R.id.bt_changetext)  
    Button bt_changetext;  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        ButterKnife.inject(this);  
//        bt_changetext.setOnClickListener(new View.OnClickListener() {  
//            @Override  
//            public void onClick(View v) {  
//  
//            }  
//        });  
    }  
  
//    @OnClick(R.id.bt_changetext)  
//    void changeText() {  
//        tv_hello.setText("hello my dear graypn!");  
//    }  
  
    @OnLongClick(R.id.bt_changetext)  
    boolean changeTextByLongClick() {  
        tv_hello.setText("hello my dear graypn!");  
        return true;  
    }  
}


标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C语言获取本机Mac地址的代码

下一篇:C# mci SoundRecord / 录音