nilupeng
2022-08-11 6c29fda2b7408c13a486554c5be9d3c6b8296b95
app/src/main/java/com/runt/open/mvvm/ui/main/MainActivity.java
@@ -5,11 +5,9 @@
import android.content.res.ColorStateList;
import android.view.KeyEvent;
import android.view.View;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.permissionx.guolindev.PermissionX;
import com.runt.open.mvvm.R;
@@ -20,9 +18,10 @@
import com.runt.open.mvvm.databinding.ActivityMainBinding;
import com.runt.open.mvvm.listener.CustomClickListener;
import com.runt.open.mvvm.listener.ResPonse;
import com.runt.open.mvvm.ui.SettingActivity;
import com.runt.open.mvvm.ui.loadpage.PageFragments;
import com.runt.open.mvvm.ui.login.RegisterLoginActivity;
import com.runt.open.mvvm.ui.login.UserBean;
import com.runt.open.mvvm.ui.main.home.HomeFragment;
import com.runt.open.mvvm.ui.main.mine.MineFragment;
import com.runt.open.mvvm.ui.main.service.ServiceFragment;
@@ -30,7 +29,7 @@
public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> {
    private BaseFragment[] fragments = {new HomeFragment(),new ServiceFragment(),new MineFragment()} ;
    private BaseFragment[] fragments = {new PageFragments.HomeFragment(),new ServiceFragment(),new MineFragment()} ;
    ActivityResultLauncher<Intent>  loginLaunch = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
        if(result.getResultCode() == RESULT_CODE_SUCESS){
            fragments[2].loadData();//登录后重新刷新
@@ -41,12 +40,18 @@
    @Override
    public void initViews() {
        mBinding.titleBar.setRightDra(getResources().getDrawable(R.mipmap.icon_white_setting));
        mBinding.titleBar.setRightClick(new CustomClickListener() {
        ActivityResultLauncher<Intent>  settingLaunch = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
            if(result.getResultCode() == RESULT_CODE_SUCESS){//已退出
                if(mBinding.viewPager2.getCurrentItem() == 2) {
                    mBinding.viewPager2.setCurrentItem(0);//设置默认第二页
                }
                fragments[2].loadData();//登录后重新刷新
            }
        });
        titleBarView.setRightClick(new CustomClickListener() {
            @Override
            protected void onSingleClick(View view) {
                //startActivityForResult(new Intent(mContext,SettingActivity.class),REQUEST_CODE_LOGOUT);//打开设置
                settingLaunch.launch(new Intent(mContext, SettingActivity.class));//打开设置
            }
        });
        final FragmentAdapter fragmentAdapter = new FragmentAdapter(this);
@@ -60,12 +65,8 @@
        mBinding.viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                setTitleStr(position);
            }
            @Override
            public void onPageSelected(int position) {
                setTitleStr(position);
                mBinding.navView.getMenu().getItem(position).setChecked(true);
                if(position == 2 && UserBean.getUser() == null){
                    loginLaunch.launch(new Intent(mContext, RegisterLoginActivity.class));
@@ -113,7 +114,7 @@
    private void setTitleStr(int position){
        switch (position){
            case 0:
                setTitle("资讯");
                setTitle("资讯Aljkpqla");
                break;
            case 1:
                setTitle("服务");
@@ -142,12 +143,7 @@
        PermissionX.init(MainActivity.this)
                .permissions(Manifest.permission.READ_PHONE_STATE)
                .request((allGranted, grantedList, deniedList) -> {
                    if(allGranted){
                        PhoneDevice.setDevice(mContext);
                    }else{
                        showPermissionDialog();
                    }
                    PhoneDevice.setDevice(mContext);
                });
    }
}