Elementy menu nie pojawią się w Actiobar
AKTUALIZACJA: Działa na karcie, ale z telefonu z jakiegoś powodu jest nakładany
Mam pytanie dotyczące pozycji menu, których android używa dla ActionBara, mam własne tło dla mojego actiobaru (obraz) i ustawiam je tutaj w kodzie. Ten fragment kodu działa poprawnie. Ale gdy próbuję dodać element menu, kończy się niepowodzeniem.
To, czego chcę, jest dość proste, chcę, aby przycisk, który mówi „zapisz produkt jako ulubiony” na dole ekranu, jak dolny pasek akcji. Ale kiedy próbuję dodać przycisk jako element menu, nie pojawi się, nic się nie zmieni.
Dziennik informuje mnie, że metoda onCreateOptionsMenu () jest faktycznie wykonywana. Jakieś pomysły?
To jest działanie, dla którego chcę menu:
<code>package com.x; import java.util.ArrayList; import java.util.HashMap; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import android.app.LocalActivityManager; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TabHost; import android.widget.TabHost.TabSpec; import android.widget.TextView; import com.x.R; import com.x.products.fragments.*; import com.x.tasks.ZoekQueryTask; import com.x.util.Helper; import com.x.util.UnscaledBitmapLoader; public class ProductActivity extends Activity { private Bundle save; /** Called when the activity is first created. */ @SuppressWarnings("rawtypes") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.product); @SuppressWarnings("deprecation") LocalActivityManager manager = new LocalActivityManager(this, false); Helper helper = new Helper(); save = null; String id = (String) getIntent().getExtras().get("id"); String score = (String) getIntent().getExtras().get("score"); String profileId = (String) getIntent().getExtras().get("profileId"); // String id = "138946"; // String profileId = "28"; // String score = "100%"; String query = "SELECT * FROM products WHERE id = "+id; ArrayList<HashMap> result = null; try { ZoekQueryTask zoekQueryTask = new ZoekQueryTask(query); result = zoekQueryTask.getResults(); } catch(Exception e) { Log.e("Afgevangen error", e.getMessage()); } TabHost tb = (TabHost) findViewById(R.id.tabs); manager.dispatchCreate(savedInstanceState); tb.setup(manager); Intent info = new Intent(); info.setClass(this, InfoFragment.class); info.putExtra("result", result); info.putExtra("profileId", profileId); TabSpec tsInfo = tb.newTabSpec("info"); tsInfo.setContent(info); tsInfo.setIndicator("info"); Intent specs = new Intent(); specs.setClass(this, SpecsFragment.class); specs.putExtra("result", result); TabSpec tsSpecs = tb.newTabSpec("specs"); tsSpecs.setContent(specs); tsSpecs.setIndicator("specs"); Intent prijs = new Intent(); prijs.setClass(this, PrijsFragment.class); prijs.putExtra("result", result); TabSpec tsPrijs = tb.newTabSpec("Prijs"); tsPrijs.setContent(prijs); tsPrijs.setIndicator("Prijs"); TabSpec tsFotos = tb.newTabSpec("Fotos"); tsFotos.setContent(info); tsFotos.setIndicator("Fotos"); tb.addTab(tsInfo); tb.addTab(tsSpecs); tb.addTab(tsPrijs); tb.addTab(tsFotos); final ActionBar actionBar = getActionBar(); actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(false); Bitmap bm = UnscaledBitmapLoader.loadFromResource(getResources(), R.drawable.logo, null); BitmapDrawable background = new BitmapDrawable(this.getResources(), bm); background.setTileModeX(android.graphics.Shader.TileMode.CLAMP); actionBar.setBackgroundDrawable(background); TextView nameText = (TextView) findViewById(R.id.name); TextView scoreText = (TextView) findViewById(R.id.score); nameText.setText(result.get(0).get("name").toString()); scoreText.setText(score); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); Log.i("hallo", "hoi"); inflater.inflate(R.layout.product_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.save: Log.i("menu", "werkt"); return true; default: return super.onOptionsItemSelected(item); } } } </code>
To jest menu XML:
<code><?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/save" android:title="Opslaan in favorieten" > </item> </menu> </code>