1. 程式人生 > >android hxgfindviewbyid專注於findviewbyid

android hxgfindviewbyid專注於findviewbyid

hxgfindviewbyid

引入方式

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

dependencies {
    implementation 'com.github.huangxiaoguo1:hxgfindviewbyid:1.0.0'
}

Activity使用簡例


@HxgContentView(R.layout.activity_main)
public class MainActivity extends
AppCompatActivity {
/** * Hello World! **/ @HxgBind(R.id.text_iv) private TextView mTextIv; /** * 點選 **/ @HxgBind(R.id.btn) private Button mBtn; @HxgBind(R.id.fl_main) private FrameLayout mFlMain; private FragmentManager fragmentManager; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); HxgViewUtils.getView().inject(this); mTextIv.setText("haungxiaoguo"); fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.fl_main, new
MyFragment()) .commitAllowingStateLoss(); } @HxgOnClick(R.id.text_iv) @HxgCheckNet(R.string.net_net_string) private void onClick(TextView view) { Toast.makeText(this, "點選了TextView", Toast.LENGTH_LONG).show(); } @HxgOnClick({R.id.btn}) @HxgCheckNet() private void onClick(Button view) { Toast.makeText(this, "點選了Button", Toast.LENGTH_LONG).show(); } }

Fragment 使用簡例

@HxgContentView(R.layout.layout_fragent)
public class MyFragment extends Fragment {

    /**
     * 按鈕
     **/
    @HxgBind(R.id.btn_frist)
    private Button mBtnFrist;
    /**
     * text
     **/
    @HxgBind(R.id.tv_frist)
    private TextView mTvFrist;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        View mView = HxgViewUtils.getView().inject(this, inflater, container);
        mBtnFrist.setText("button");
        mTvFrist.setText("textView");
        return mView;
    }

    @HxgOnClick(R.id.btn_frist)
    @HxgCheckNet(HxgContast.DEFAULT_TYPE)
    private void onClick(Button button) {
        Toast.makeText(getContext(), "點選了button", Toast.LENGTH_LONG).show();
    }

    @HxgOnClick(R.id.tv_frist)
    @HxgCheckNet(HxgContast.NOHINT_TYPE)
    private void onClick(TextView textView) {
        Toast.makeText(getContext(), "點選了textView", Toast.LENGTH_LONG).show();
    }

}

使用簡介

設定佈局
@HxgContentView(R.layout.activity_main)

@HxgContentView(R.layout.layout_fragent)

在Activity與Fragment中相同
新增FindViewById
@HxgBind(R.id.text_iv)
新增點選事件
@HxgOnClick(R.id.btn_frist)

檢查網路

帶入提示語的註解
@HxgCheckNet(R.string.net_net_string)
無任何提示語
@HxgCheckNet()

@HxgCheckNet(HxgContast.NOHINT_TYPE)
使用預設的提示語
@HxgCheckNet(HxgContast.DEFAULT_TYPE)

Activity中注入

  HxgViewUtils.getView().inject(this);

Fragment中注入

View mView = HxgViewUtils.getView().inject(this, inflater, container);

配合androidStudio使用

外掛地址:

https://github.com/huangxiaoguo1/hxgfindviewbyid/tree/master/app/src/main/assets

github地址:https://github.com/huangxiaoguo1/hxgfindviewbyid