- 在build.gradle文件中添加依赖引用
compile 'org.xutils:xutils:3.3.36'
在AndroidManifest文件中添加权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在Application的onCreate()方法中初始化
@Override public void onCreate() { super.onCreate(); // TODO Auto-generated method stub x.Ext.init(this);//初始化xUtils x.Ext.setDebug(true); // 是否输出debug日志 }
注解模块:
Activity的注解
@ContentView(R.layout.activity_main) public class MainActivity extends AppCompatActivity { @ViewInject(R.id.viewpager) ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); x.view().inject(this); viewPager.setAdapter(adapter); } }
Fragment的注解
@ContentView(R.layout.inject_view) public class InjectFragment extends Fragment { @ViewInject(R.id.listview) ListView listView; @ViewInject(R.id.btn_inject) Button btnInject; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return x.view().inject(this,inflater,container); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); listView.setAdapter(adapter);
ViewHolder的注解
@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if(convertView ==null){ convertView = inflater.inflate(R.layout.child_item,null); viewHolder = new ViewHolder(); x.view().inject(viewHolder,convertView); convertView.setTag(viewHolder); }else{ viewHolder = (ViewHolder) convertView.getTag(); } Child child = children.get(position); viewHolder.childName.setText(child.getName()); return convertView; } class ViewHolder{ @ViewInject(R.id.tv_child_name) TextView childName; }
Event事件
//点击事件(type可以不写) @Event(type = View.OnClickListener.class,value = R.id.btn_inject) private void testInjectOnClick(View view){ // TODO Auto-generated method } //长按点击事件 @Event(type = View.OnLongClickListener.class,value = R.id.btn_inject) private boolean testOnLongClickListener(View view){ // TODO Auto-generated method return true; } //adapter的item点击事件 @Event(type =AdapterView.OnItemClickListener.class,value = R.id.listview) private void testOnItemClick(AdapterView<?> parent, View view, int position, long id){ // TODO Auto-generated method } //adapter的item长按点击事件 @Event(type = AdapterView.OnItemLongClickListener.class, value = R.id.listview) private boolean testOnItemLongClick(AdapterView<?> adapterView, View view, int i, long l) { // TODO Auto-generated method return true; }