我正在尝试使用菜单充气器为用户提供电子邮件以寻求支持的选项,但每次我点击模拟器上的菜单按钮它都不会做任何事情。这是我的代码。感谢!!!
我需要在清单中编辑吗?我的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 = "MYEMAIL@EXAMPLE.com";
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 :(得分:0)
以下是您的代码的各种问题:
请onCreateOptionsMenu()
使用return(super.onCreateOptionsMenu(...))
使用与您收到的相同的参数 - 换句话说,当您完成时链接到超类
您的android:onClick
属性仅适用于API等级11及更高版本,并且您绑定到它们的方法必须为public
并且具有MenuItem
参数(你不这样做)
emailme()
中的MIME类型必须为text/plain
,而不是plain/text