2016-11-05 70 views
0

我想製作一個帶刪除選項的菜單。實際的刪除功能尚未完成,因爲目前我無法在應用程序中看到頂部欄。Android菜單不顯示

主要佈局(activity_main.xml中):

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="billy.cs436.placebadgesapp.MainActivity"> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/newPlace" 
     android:text="@string/newPlaceButton" 
    /> 
</RelativeLayout> 

菜單佈局(main.xml中):

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/deleteMenu" 
     android:icon="@drawable/clear" 
     android:title="@string/deleteMenu" 
     app:showAsAction="ifRoom" 
    /> 
</menu> 

主要活動(MainActivity.java):

package billy.cs436.placebadgesapp; 

import android.content.Intent; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

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

     newPlace = (Button) findViewById(R.id.newPlace); 
     newPlace.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Intent intent = new Intent(getApplicationContext(), setLocation.class); 
       startActivity(intent); 
      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the main; this adds items to the action bar if it is present. 

     getMenuInflater().inflate(R.menu.main, menu);//Menu Resource, Menu 
     return true; 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     int id = item.getItemId(); 
     if(id == R.id.deleteMenu) { 
     // if there are no badges, toast message saying so (needs implementing) 
      Toast.makeText(this, "There are no badges to delete!", Toast.LENGTH_SHORT).show(); 
     //else clear all badges 
     } else { 
      Toast.makeText(this, "Badges cleared!", Toast.LENGTH_SHORT).show(); 
     } 
     return super.onOptionsItemSelected(item); 
     } 

    } 

燦任何人都會告訴我爲什麼New Place按鈕是運行時唯一顯示的東西?編輯: @ T.S有正確的答案。謝謝。

+0

AndroidManifest中選擇什麼樣式 – AndroidHacker

回答

0

更改您的班級以延長AppCompatActivity而不是Activity