2016-03-04 68 views
0

我正在做一個項目,我的代碼看起來非常好,但在其中一個活動中,我能夠看到屏幕上的菜單選項,而另一方面我看不到菜單選項。活動中未顯示的菜單

用於沒有顯示菜單選項活動中的代碼是:

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相關?

回答

2

你缺少的onCreateOptionsMenu覆蓋

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

哦!謝謝。我一直工作到很晚,我想我現在應該休息,否則我會犯同樣的錯誤。時間限制到達時我會接受答案。 – Arqam