活动中未显示的菜单

问题描述:

我正在做一个项目,我的代码看起来非常好,但在其中一个活动中,我能够看到屏幕上的菜单选项,而另一方面我看不到菜单选项。活动中未显示的菜单

用于没有显示菜单选项活动中的代码是:

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v7.app.ActionBarActivity; 
import android.view.LayoutInflater; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 


public class DetailActivity extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_detail); 
    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.container, new PlaceholderFragment()) 
       .commit(); 
    } 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     startActivity(new Intent(this, SettingsActivity.class)); 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

/** 
* A placeholder fragment containing a simple view. 
*/ 
public static class PlaceholderFragment extends Fragment { 

    public PlaceholderFragment() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.fragment_detail, container, false); 
     Intent intent = getActivity().getIntent(); 
     if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) { 
      String forecastStr = intent.getStringExtra(Intent.EXTRA_TEXT); 
      ((TextView) rootView.findViewById(R.id.detail_text)) 
        .setText(forecastStr); 
     } 
     return rootView; 
    } 
} 

}

而且本次活动的菜单xml文件也未尝不可。该问题是否与任何版本的Android相关?

你缺少的onCreateOptionsMenu覆盖

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.my_menu, menu); 
} 
+0

哦!谢谢。我一直工作到很晚,我想我现在应该休息,否则我会犯同样的错误。时间限制到达时我会接受答案。 – Arqam