The BaesActivity you are using is for reference only

A BaesActivity I use now may be rubbish, but there is still no problem in using it. Hope to help or enlighten some novices, welcome to guide and discuss

public abstract class BaseActivity extends Activity  {
    private Toast mToast;
    private long mLastBackClickTime = 0L;
    private long mExitInterval = 2000L;
    private boolean doubleBack = true;
    protected boolean isActive = true;
    private FrameLayout mBodyContent;
    private TextView fanhuiBaseactivity;
    private LinearLayout baseactivityLayout;
    private TextView base_title;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (!isTemplate()) {
            setContentView(getLayoutResource());
        } else {
            setContentView(R.layout.base_view);
            baseInitView();
            View view = LayoutInflater.from(this).inflate(getLayoutResource(), null, false);
            if (mBodyContent != null) {
                mBodyContent.removeAllViews();
                mBodyContent.addView(view);
            }
            if (setTitle()!= null && setTitle().length() != 0){
                base_title.setText(setTitle());
            }
            fanhuiBaseactivity.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    startActivity(fanhuis());
                    finish();
                }
            });
        }
        ButterKnife.bind(this);
        isActive = true;
    }

    private void baseInitView() {
        mBodyContent = (FrameLayout) findViewById(R.id.base_body);
        fanhuiBaseactivity = (TextView) findViewById(R.id.fanhui_baseactivity);
        baseactivityLayout = (LinearLayout) findViewById(R.id.baseactivity_layout);
        base_title = (TextView) findViewById(R.id.base_title);
    }
    //返回按钮页面跳转(需要写入,不需要删除即可)
    public abstract Intent fanhuis();
    //这是布局的bar信息(需要写入,不需要删除即可)
    public abstract String setTitle();
    //   可见的(需要写入,不需要删除即可)
    public void visible() {
        baseactivityLayout.setVisibility(View.VISIBLE);
    }

    //不可见的但是占位(需要写入,不需要删除即可)
    public void invisible() {
        baseactivityLayout.setVisibility(View.INVISIBLE);
    }
    //不可见的不占位(需要写入,不需要删除即可)
    public void gone() {
        baseactivityLayout.setVisibility(View.GONE);
    }

    //加载布局
    public abstract int getLayoutResource();

    public boolean isTemplate() {
        return true;
    }

    ;

    public void toast(String s) {
        if (isActive) {
            if (mToast == null) {
                mToast = Toast.makeText(this, s, Toast.LENGTH_SHORT);
            } else {
                mToast.setText(s);
            }
            mToast.show();
        }
    }

    public void openActivity(Class<?> cls) {
        openActivity(cls, null);
    }

    public void openActivity(Class<?> cls, Bundle bundle) {
        Intent intent = new Intent(this, cls);
        if (bundle != null) {
            intent.putExtras(bundle);
        }
        startActivity(intent);
    }

    public void openActivityForResult(Class<?> cls, int requestCode) {
        openActivityForResult(cls, null, requestCode);
    }

    public void openActivityForResult(Class<?> cls, Bundle bundle, int requestCode) {
        Intent intent = new Intent(this, cls);
        if (bundle != null) {
            intent.putExtras(bundle);
        }
        startActivityForResult(intent, requestCode);
    }

    public void setDoubleBack(boolean doubleBack) {
        this.doubleBack = doubleBack;
    }

    @Override
    public void onBackPressed() {
        if (doubleBack) {
            if ((System.currentTimeMillis() - mLastBackClickTime) > mExitInterval) {
                Toast.makeText(this, getString(R.string.app_exit_tip), Toast.LENGTH_SHORT).show();
                mLastBackClickTime = System.currentTimeMillis();
            } else {
                super.onBackPressed();
                moveTaskToBack(true);
            }
        } else {
            super.onBackPressed();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        isActive = false;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (null != this.getCurrentFocus()) {
            /**
             * 点击空白位置 隐藏软键盘
             */
            InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
            return mInputMethodManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), 0);
        }
        return super.onTouchEvent(event);
    }
}

Inherit baseactivity

public class ShipUnloadingList extends BaseActivity {
    @Override
    public int getLayoutResource() {
        return R.layout.布局名字;
    }
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public Intent fanhuis() {
        return null;
    }

    @Override
    public String setTitle() {
        return "title名字";
    }
//友情提示新手一下initview()直接掉。直接书写就行, 不需要调用。

I hope it will be helpful to everyone, novices can take a look more, welcome to come to guide improvement.

Guess you like

Origin blog.csdn.net/q992767879/article/details/112798982