0

我想使用菜單充氣器給用戶的電子郵件尋求支持的選項,但每次我點擊菜單按鈕上的模擬器它什麼都不會做。這是我的代碼。謝謝!!!菜單inflater沒有運行在模擬器上

我需要在我的清單中編輯這個嗎?我的XML具有菜單的標題和項以及項目

,這裏是我的xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/email" android:title="@string/email_menu" 
     android:icon="@drawable/ic_envelope" android:onClick="emailme" /> 
    <item android:id="@+id/test1" android:title="@string/test1" 
     android:icon="@drawable/ic_dashboard" android:onClick="test1" /> 

</menu> 

import android.content.Intent; 
import android.os.Bundle; 
import android.preference.PreferenceActivity; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 

public class MenuButton extends PreferenceActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.menu.menu); 


} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return true; 
} 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
    case R.id.email: 
     emailme(); 
     return true; 
    case R.id.test1: 
     test1(); 
     return false; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 
private void test1() { 
    // TODO Auto-generated method stub 

} 
private void emailme() { 
    // TODO Auto-generated method stub 
    String domsEmail = "[email protected]"; 
    String message = "Hello, I just want to let you know that your app"; 
    String myemail[] = { domsEmail }; 
    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, myemail); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "your app"); 
    emailIntent.setType("plain/text"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message); 
    startActivity(emailIntent); 
} 

} 
+0

你也可以發佈你的menu.xml的xml代碼..可以幫忙。 – Urban

+0

首先粘貼你的menu.xml。 –

+0

更新了它。並把它放在第一個 – domshyra

回答

0

這裏是你的代碼的各種問題:

  1. 請有onCreateOptionsMenu()使用return(super.onCreateOptionsMenu(...))與您收到的參數相同 - 換句話說,完成後鏈接到超類

  2. 您的個屬性只能在API級別11和更高的工作,你的方法,你已經綁定到他們必須public並有MenuItem參數(你沒有)

  3. 你的MIME類型emailme()需要爲text/plain ,而不是plain/text

+0

所以我的代碼現在看起來是否正確? '公共布爾onCreateOptionsMenu(菜單菜單){ \t .... \t回報(super.onCreateOptionsMenu(菜單));' 和'公共無效TEST1(菜單項項)'也是我的開關,我會加上'TEST1(項目);'正確? idk如果它是我的代碼或模擬器,但我仍然無法讓它工作,也可以解釋或指出爲什麼我需要返回超級? – domshyra

+0

@Dominic:「我的代碼現在看起來正確嗎?」 - 您的代碼與我回答問題時的代碼相同。這裏是一個示例項目,顯示菜單的使用:https://github.com/commonsguy/cw-android/tree/master/Menus/Inflation – CommonsWare

+0

好吧謝謝,我會去看看它。 – domshyra