如何在Android Studio中的片段中实现onback press

伙伴

我希望每当用户按回任何片段时,用户都将移至主要活动。

MainActivity.java

package com.thechamp.ait;

import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.accessibility.AccessibilityRecord;
import android.widget.Toast;

import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;

import com.google.android.material.navigation.NavigationView;

import java.security.MessageDigest;
import java.util.Calendar;


public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
    private DrawerLayout drawerLayout;
    private NavigationView navigationView;





    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle(null);
        getSupportActionBar().setElevation(0);

        navigationView = findViewById(R.id.nav_view);
        navigationView.setItemIconTintList(null);

        Calendar c = Calendar.getInstance();
        int timeOfDay = c.get(Calendar.HOUR_OF_DAY);

        if(timeOfDay >= 0 && timeOfDay < 12){
            Toast.makeText(this, "Good Morning", Toast.LENGTH_SHORT).show();
        }else if(timeOfDay >= 12 && timeOfDay < 16){
            Toast.makeText(this, "Good Afternoon", Toast.LENGTH_SHORT).show();
        }else if(timeOfDay >= 16 && timeOfDay < 21){
            Toast.makeText(this, "Good Evening", Toast.LENGTH_SHORT).show();
        }else if(timeOfDay >= 21 && timeOfDay < 24){
            Toast.makeText(this, "Good Night", Toast.LENGTH_SHORT).show();
        }




        drawerLayout = findViewById(R.id.drawer_layout);
        navigationView.setNavigationItemSelectedListener(this);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawerLayout.addDrawerListener(toggle);
        toggle.syncState();


    }



    @Override
    public boolean onNavigationItemSelected( MenuItem item) {
        switch (item.getItemId()) {
            case    R.id.nav_about:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new AboutCollege()).commit();
                break;

            case    R.id.nav_Earnmoney:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new EarnMoney()).commit();
                break;

            case    R.id.nav_Feedback:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new Feedback()).commit();
                break;
            case    R.id.nav_notice:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new NoticeBoard()).commit();
                break;
            case    R.id.nav_study:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new StudyMaterial()).commit();
                break;
            case    R.id.nav_support:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new Support()).commit();
                break;
        }
        drawerLayout.closeDrawer(GravityCompat.START);
        return true;
    }



    @Override
    public void onBackPressed() {
        if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
            drawerLayout.closeDrawer(GravityCompat.START);
        }
        else {
        super.onBackPressed();
    }
}}

和这里的反馈片段代码-我希望每当用户按下“后退”按钮时,用户便移至主要活动。

package com.thechamp.ait;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;

public class Feedback extends Fragment {

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_feedback, container, false);

        ((AppCompatActivity) getActivity()).getSupportActionBar().hide();





           return view;
    }
}

Ankur rohilla
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    activity?.onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(true) {
        override fun handleOnBackPressed() {
          if(shouldInterceptBackPress()){
            // your logic when backpress is clicked
          }else{
            isEnabled = false
            main.activity?.onBackPressed()
          }
        }
    })
}

从Android查看文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何处理Fragment Android中的onBack Press

来自分类Dev

如何处理Fragment Android中的onBack Press

来自分类Dev

如何在Android Studio中实现搜索?

来自分类Dev

如何在片段Android中实现视差滚动

来自分类Dev

如何在片段中实现按钮SetOnClickListener?

来自分类Dev

如何在片段中实现ImageView的OnClickListener?

来自分类Dev

如何在片段中实现导航抽屉

来自分类Dev

如何在片段中实现视图

来自分类Dev

如何在片段中实现OnScrollistener

来自分类Dev

如何在Android Studio导航抽屉中设置默认片段?

来自分类Dev

如何在Android Studio中编辑片段内容?

来自分类Dev

在片段android中实现AsyncTask

来自分类Dev

如何在Vala中编写button_press_event信号处理程序?

来自分类Dev

如何在Stata中自动计算PRESS和$ R ^ 2_ {predicted} $

来自分类Dev

如何在Android中显示片段

来自分类Dev

如何在Android中重用片段的视图?

来自分类Dev

如何在Android中刷新片段

来自分类Dev

如何在Android的TabLayout中替换片段

来自分类Dev

如何在 Android 中包含布局片段

来自分类Dev

Android Studio中的片段问题

来自分类Dev

如何在片段中实现侦听器接口?

来自分类Dev

如何在片段中实现onBackPressed()和意图?

来自分类Dev

如何在Flutter中实现片段之间的导航?

来自分类Dev

如何在片段中实现自定义视图

来自分类Dev

如何在bottombar的片段之一中实现tabview?

来自分类Dev

在Android片段活动中实现后退按钮

来自分类Dev

Android开发-片段中AsyncTask的实现错误?

来自分类Dev

在Android中实现AsyncTask和Listview的片段

来自分类Dev

在Android片段活动中实现后退按钮