Java 单击“后退”按钮时如何更改操作栏上的名称

Java 单击“后退”按钮时如何更改操作栏上的名称,java,android,android-fragments,Java,Android,Android Fragments,我正在尝试创建一个应用程序。我在动作栏上没有名字。当从一个片段返回到主活动时,我们返回到主活动,但操作栏上的名称并没有改变,在返回到主活动后,使用以下代码显示片段的名称- public class MainActivity extends FragmentActivity implements OnMapReadyCallback, ConnectionCallbacks, OnConnectionFailedListener,LocationListener{ DrawerLayout m

我正在尝试创建一个应用程序。我在动作栏上没有名字。当从一个片段返回到主活动时,我们返回到主活动,但操作栏上的名称并没有改变,在返回到主活动后,使用以下代码显示片段的名称-

 public class MainActivity extends FragmentActivity implements OnMapReadyCallback, ConnectionCallbacks, OnConnectionFailedListener,LocationListener{
 DrawerLayout mDrawerLayout;
 ListView mDrawerList;
 @SuppressWarnings("deprecation")
ActionBarDrawerToggle mDrawerToggle;
 String mTitle="";
 private final String  TAG = this.getClass().getSimpleName();

    LocationRequest mLocationRequest;
    GoogleApiClient mGoogleApiClient;

    LatLng latLng;
    GoogleMap mMap;
    SupportMapFragment mFragment;
    Marker CurrentMarker,NearbyPlace,FindMarker;
    EditText editplace = null;
    Button findbtn = null;
    boolean firstRun = true;
    private Boolean exit = false;


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

    //for connectivity service
    ConnectivityManager cManager = (ConnectivityManager) getSystemService(this.CONNECTIVITY_SERVICE);
    NetworkInfo nInfo = cManager.getActiveNetworkInfo();
    if (nInfo != null && nInfo.isConnected()) {
        Toast.makeText(this, "Network is available ", Toast.LENGTH_SHORT).show();

        AdView adView = (AdView)findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder()
        //.addTestDevice("abc")
        .build();
        adView.loadAd(adRequest);
    mFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
    mFragment.getMapAsync(this);

    }


    else{
        Toast.makeText(this, "Network is not available ", Toast.LENGTH_SHORT).show();
        Fragment newFragment;
        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        newFragment = new NetworkCheck();
        transaction.replace(R.id.content_frame, newFragment);
        transaction.addToBackStack(null);
        transaction.commit();
    }

    editplace = (EditText) findViewById(R.id.editplace);
    findbtn = (Button) findViewById(R.id.findbtn);

    setListnerOnWidget();

    mTitle = (String) getTitle();
    // Getting reference to the DrawerLayout
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.drawer_list);

    // Getting reference to the ActionBarDrawerToggle
    mDrawerToggle = new ActionBarDrawerToggle( this,
        mDrawerLayout,
        R.drawable.ic_drawer,
        R.string.drawer_open,
        R.string.drawer_close){

            /** Called when drawer is closed */
            public void onDrawerClosed(View view) {
                getActionBar().setTitle(mTitle);
                invalidateOptionsMenu();
            }

            /** Called when a drawer is opened */
            public void onDrawerOpened(View drawerView) {
                getActionBar().setTitle("Select a menu");
                invalidateOptionsMenu();
            }
    };

    // Setting DrawerToggle on DrawerLayout
    mDrawerLayout.setDrawerListener(mDrawerToggle);
    mDrawerToggle.setDrawerIndicatorEnabled(true);

    // Creating an ArrayAdapter to add items to the listview mDrawerList
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
        getBaseContext(),
        R.layout.drawer_list_item ,
        getResources().getStringArray(R.array.menu)
    );

    mDrawerList.setAdapter(adapter);

    getActionBar().setHomeButtonEnabled(true);
    getActionBar().setDisplayHomeAsUpEnabled(true);


    // Setting item click listener for the listview mDrawerList
    mDrawerList.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent,
            View view,
            int position,
            long id) {
            displayView(position);
            // Updating the action bar title
            String[] menu = getResources().getStringArray(R.array.menu);
            mTitle = menu[position];

            mDrawerLayout.closeDrawer(mDrawerList);

        }

        private void displayView(int position) {
            // TODO Auto-generated method stub
            Fragment newFragment;
            FragmentTransaction transaction = getFragmentManager().beginTransaction();
            switch (position) {
            case 0:

                newFragment = new Help();
                transaction.replace(R.id.content_frame, newFragment);
                transaction.addToBackStack(null);
                transaction.commit();
                break;

            case 1:

                newFragment = new ContactUs();
                transaction.replace(R.id.content_frame, newFragment);
                transaction.addToBackStack(null);
                transaction.commit();
                break;

              case 2:
                  transaction.addToBackStack(null);
                try
                { Intent i = new Intent(Intent.ACTION_SEND);  
                  i.setType("text/plain");
                  i.putExtra(Intent.EXTRA_SUBJECT, "My application name");
                  String sAux = "\nLet me recommend you this application\n\n";
                  sAux = sAux + "https://play.google.com/store/apps/details?id=com.iqwiner\n\n";
                  i.putExtra(Intent.EXTRA_TEXT, sAux);  
                  startActivity(Intent.createChooser(i, "Choose an action"));

                }
                catch(Exception e)
                { //e.toString();
                }   
                Log.e(TAG, "share button is clicked");
                break;

              case 3:
                newFragment = new Suggestion_Address();
                transaction.replace(R.id.content_frame, newFragment);
                transaction.addToBackStack(null);
                transaction.commit();
                Log.e(TAG, "Suggestion Address button is clicked");
                break;

            }

        }

    });



}

private void setListnerOnWidget() {
    // TODO Auto-generated method stub
    OnClickListener listener = new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            String location = editplace.getText().toString();
            if(location!=null && !location.equals("")){
                  new GeocoderTask().execute(location); 

                }
    }
    };
   findbtn.setOnClickListener(listener);

}



@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    mDrawerToggle.syncState();
}


@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    mDrawerToggle.onConfigurationChanged(newConfig);
}

//for back button 

@Override
public void onBackPressed() {

    if (getFragmentManager().getBackStackEntryCount() > 1) {
        getFragmentManager().popBackStack();

    } else {
        super.onBackPressed();
    }
         }
公共类MainActivity扩展了FragmentActivity在MapreadyCallback、ConnectionCallbacks、OnConnectionFailedListener、LocationListener上的实现{
抽屉布局mDrawerLayout;
ListView mDrawerList;
@抑制警告(“弃用”)
ActionBarDrawerToggle mDrawerToggle;
字符串mTitle=“”;
私有最终字符串标记=this.getClass().getSimpleName();
位置请求mLocationRequest;
GoogleapClient MGoogleapClient;
LatLng LatLng;
谷歌地图;
支持图片段;
Marker CurrentMarker,NearbyPlace,FindMarker;
EditText-editplace=null;
按钮findbtn=null;
布尔值firstRun=true;
私有布尔退出=false;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//用于连接服务
ConnectivityManager cManager=(ConnectivityManager)getSystemService(this.CONNECTIVITY_服务);
NetworkInfo nInfo=cManager.getActiveNetworkInfo();
if(nInfo!=null&&nInfo.isConnected()){
Toast.makeText(此“网络可用”,Toast.LENGTH_SHORT).show();
AdView AdView=(AdView)findViewById(R.id.AdView);
AdRequest AdRequest=新建AdRequest.Builder()
//.addTestDevice(“abc”)
.build();
adView.loadAd(adRequest);
MFFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
getMapAsync(这个);
}
否则{
Toast.makeText(此“网络不可用”,Toast.LENGTH_SHORT.show();
新片段;
FragmentTransaction=getFragmentManager().beginTransaction();
newFragment=newnetworkcheck();
事务.替换(R.id.content\u frame,newFragment);
transaction.addToBackStack(空);
commit();
}
editplace=(EditText)findViewById(R.id.editplace);
findbtn=(按钮)findviewbyd(R.id.findbtn);
setListnerOnWidget();
mTitle=(字符串)getTitle();
//获取对抽屉布局的引用
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
mDrawerList=(ListView)findViewById(R.id.drawer\u列表);
//获取对ActionBarDrawerToggle的引用
MDRAWERTOGLE=新操作BARDRAWERTOGLE(此,
mDrawerLayout,
R.可抽出式ic_抽屉,
R.string.drawer\u打开,
右弦抽屉(U关闭){
/**抽屉关闭时调用*/
公共无效onDrawerClosed(视图){
getActionBar().setTitle(mTitle);
无效操作菜单();
}
/**打开抽屉时调用*/
打开图纸上的公共空白(视图抽屉视图){
getActionBar().setTitle(“选择菜单”);
无效操作菜单();
}
};
//设置抽屉在抽屉布局上切换
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerToggle.setDrawerIndicatorEnabled(true);
//创建ArrayAdapter以将项添加到listview mDrawerList
ArrayAdapter适配器=新的ArrayAdapter(
getBaseContext(),
R.布局.抽屉清单项目,
getResources().getStringArray(R.array.menu)
);
mDrawerList.setAdapter(适配器);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
//listview mDrawerList的设置项单击侦听器
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共无效MClick(AdapterView父级、,
视图视图,
int位置,
长id){
显示视图(位置);
//更新操作栏标题
String[]menu=getResources().getStringArray(R.array.menu);
mTitle=菜单[位置];
mDrawerLayout.closeDrawer(mDrawerList);
}
私有void显示视图(内部位置){
//TODO自动生成的方法存根
新片段;
FragmentTransaction=getFragmentManager().beginTransaction();
开关(位置){
案例0:
newFragment=newhelp();
事务.替换(R.id.content\u frame,newFragment);
transaction.addToBackStack(空);
commit();
打破
案例1:
newFragment=newcontactus();
事务.替换(R.id.content\u frame,newFragment);
transaction.addToBackStack(空);
commit();
打破
案例2:
transaction.addToBackStack(空);
尝试
{Intent i=新意图(Intent.ACTION\u SEND);
i、 setType(“文本/普通”);
i、 putExtra(Intent.EXTRA_主题,“我的申请名称”);
String sAux=“\n请让我向您推荐此应用程序\n\n”;
sAux=sAux+”https://play.google.com/store/apps/details?id=com.iqwiner\n\n“;
i、 putExtra(Intent.EXTRA_TEXT,sAux);
startActivity(Intent.createChooser(i,“选择动作”);
}
捕获(例外e)
{//e.toString();
}   
Log.e(标记“单击共享按钮”);
打破
案例3:
newFragment=新建议\地址();
事务.替换(R.id.content\u frame,newFragment);
transaction.addToBackStack(空);
transaction.commit(
@Override
public void onDestroyView() {
    super.onDestroyView();
    (AppCompatActivity) getActivity()).getSupportActionBar().setTitle("You Main Activity Title");

}
@Override
public void onDestroyView() {
    super.onDestroyView();
    getActivity().getSupportActionBar().setTitle("You Main Activity Title");

}
public void setActionBar(CharSequence title) {
         toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setTitle(title);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
       }