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