# 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 {...}

- **BindView**

	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**

	@OnClick(R.id.btn_list)
	private void start(View view) {
		Log.e("MainActivity", "测试onClick事件是否触发");
	}
	

- **OnLongClick**

	@OnLongClick(R.id.btn_list)
	private boolean longClick(View view) {
		Log.e("MainActivity", "长按测试成功");
		return false;
	}
	

- **OnItemClick**

	@OnItemClick(R.id.listview)
	private void onItemClick(AdapterView arg0, View arg1, int position,
			long arg3) {
		Log.e("ListActivity", "onItemClick 测试成功" + position);
	}
	

- **OnItemLongClick**

	@OnItemLongClick(R.id.listview)
	private boolean onItemLongClick(AdapterView arg0, View arg1,
			int position, long arg3) {
		Log.e("ListActivity", "onItemLongClick 测试成功" + position);
		return true;
	}
	

- **OnPageChange**

	@OnPageChange(value = R.id.viewpager, callback = "onPageSelected")
	private void onPageSelected(int pos) {
		Log.e("MainActivity", "测试OnPageChange  选中:" + pos);
	}
	

- **OnCheckedChange**

	@OnCheckedChange(R.id.check)
	private void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		Log.e("MainActivity", "测试@OnCheckedChange事件是否触发");
		buttonView.setChecked(isChecked);
	}
	

- **OnFocusChange**

	@OnFocusChange({R.id.edit,R.id.edit1})
	private void onFocusChange(View v, boolean hasFocus) {
		Log.e("MainActivity", "测试@OnFocusChange事件是否触发");
	}
	

- **OnTouch**

	@OnTouch(R.id.text1)
	private boolean onTouch(View v, MotionEvent event) {
		Log.e("MainActivity", "测试@OnTouch事件是否触发");
		return false;
	}
	
### 兼容性与问题 ### - **兼容性** 经测试在大部分手机都能正常使用,目前暂无发现bug. - **问题**