# QuickBind **Repository Path**: byoooy/QuickBind ## Basic Information - **Project Name**: QuickBind - **Description**: android视图注入框架,参考了xUtils来实现 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 2 - **Created**: 2016-01-14 - **Last Updated**: 2025-07-23 ## Categories & Tags **Categories**: android-modules **Tags**: None ## README **QuickBind** 是一个在安卓平台的视图注入框架。 可以实现以下操作: - **BindLayout** 绑定Activity的布局文件 - **BindView** 绑定View控件,无需再findViewById - **OnClick** 支持OnClickListener事件 - **OnLongClick** 支持OnLongClickListener事件 - **OnItemClick** 支持OnItemClickListener事件 - **OnItemLongClick** 支持OnItemLongClickListener事件 - **OnPageChange** 支持OnPageChangeListener事件 - **OnCheckedChange**支持OnCheckedChangeListener事件 - **OnFocusChange**支持OnFocusChangeListener事件 - **OnTouch** 支持OnTouchListener事件 ### 使用教程 ### - 在Activity、Fragment、View(特别是ViewHolder)需要使用以下方法: (1)在Activity中
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
QuickBind.bind(this);
}
(2)在Fragment中
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, container, false);
QuickBind.bind(this, view);
return view;
}
(3)在View(ViewHolder)中
public ViewHolder(View view) {
QuickBind.bind(this, view);
}
- **BindLayout**
@BindLayout(R.layout.activity_main)
public class MainActivity extends Activity {...}
public class MainActivity extends Activity {
@BindView(R.id.check)
private CheckBox check;
@BindView(R.id.text1)
private TextView mText1;
...
}
public class MainAFragment extends Fragment {
@BindView(R.id.check)
private CheckBox check;
@BindView(R.id.text1)
private TextView mText1;
...
}
@OnClick(R.id.btn_list)
private void start(View view) {
Log.e("MainActivity", "测试onClick事件是否触发");
}
@OnLongClick(R.id.btn_list)
private boolean longClick(View view) {
Log.e("MainActivity", "长按测试成功");
return false;
}
@OnItemClick(R.id.listview)
private void onItemClick(AdapterView> arg0, View arg1, int position,
long arg3) {
Log.e("ListActivity", "onItemClick 测试成功" + position);
}
@OnItemLongClick(R.id.listview)
private boolean onItemLongClick(AdapterView> arg0, View arg1,
int position, long arg3) {
Log.e("ListActivity", "onItemLongClick 测试成功" + position);
return true;
}
@OnPageChange(value = R.id.viewpager, callback = "onPageSelected")
private void onPageSelected(int pos) {
Log.e("MainActivity", "测试OnPageChange 选中:" + pos);
}
@OnCheckedChange(R.id.check)
private void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.e("MainActivity", "测试@OnCheckedChange事件是否触发");
buttonView.setChecked(isChecked);
}
@OnFocusChange({R.id.edit,R.id.edit1})
private void onFocusChange(View v, boolean hasFocus) {
Log.e("MainActivity", "测试@OnFocusChange事件是否触发");
}
@OnTouch(R.id.text1)
private boolean onTouch(View v, MotionEvent event) {
Log.e("MainActivity", "测试@OnTouch事件是否触发");
return false;
}
### 兼容性与问题 ###
- **兼容性** 经测试在大部分手机都能正常使用,目前暂无发现bug.
- **问题**