关于xUtils的使用有各种各样的说明和帖子,今天主要结合自己的项目总结一下view注入的方面。
添加xUtils库后
@ViewInject(R.id.textView)
TextView textView;
//@ViewInject(vale=R.id.textView, parentId=R.id.parentView)
//TextView textView;
1.在Activity中注入:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewUtils.inject(this); //注入view和事件
...
textView.setText("some text...");
...
}
2.在Fragment中注入:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.bitmap_fragment, container, false); // 加载fragment布局
ViewUtils.inject(this, view); //注入view和事件
...
}
3.在PreferenceFragment中注入:
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ViewUtils.inject(this, getPreferenceScreen()); //注入view和事件
...
}
4.在Adapter中注入
public class MxnGridViewAdapter extends BaseAdapter {
class ViewHolder {
@ViewInject(R.id.home_grid_image)
public ImageView image;
@ViewInject(R.id.home_grid_text)
public TextView title;
}
...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.fhome_grid_item, null);
viewHolder = new ViewHolder();
ViewUtils.inject(viewHolder,convertView);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.title.setText(titles[position]);
viewHolder.image.setImageResource(images[position]);
return convertView;
}