我是一个Android菜鸟。我正在使用MyEclipse,ADT,SDK,Android 2.2,API 8。
我的活动看起来像这样 -
package com.vvittal.relativelayout;
import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView.AdapterContextMenuInfo;
public class Login extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
registerForContextMenu(findViewById(R.id.uEntry));
registerForContextMenu(findViewById(R.id.pwdEntry));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.login_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.agency_item: System.out.println("----------------");
return true;
case R.id.prod_cat_item: System.out.println("++++++++++++++++");
return true;
default: return super.onOptionsItemSelected(item);
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
//menu.f
//menu.setHeaderTitle("Your Options");
}
@Override
public boolean onContextItemSelected(MenuItem item){
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.option1: ;
return true;
case R.id.option2:
return true;
default:
int i = item.getItemId();
return super.onContextItemSelected(item);
}
}
}
我的AndroidManifest.xml看起来像这样 -
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vvittal.relativelayout"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Login"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
context_menu.xml如下 -
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/option1"
android:title="@string/yes" />
<item android:id="@+id/option2"
android:title="@string/no" />
</menu>
我在模拟器上的菜单中有一个名为“输入法”的项目,此外还有我在XML中指定的“是”和“否”。
我想知道当我没有在xml中指定任何项目时,“输入法”的附加项目来自哪里?另外如何以编程方式删除它?
答案 0 :(得分:0)
我想知道当我没有在xml中指定任何项目时,“输入法”的附加项目来自哪里?
操作系统将根据窗口小部件添加上下文菜单选项。对于EditText
窗口小部件,这将包括剪切,复制,粘贴,全选和选择输入法等内容。
另外如何以编程方式删除它?
请不要。首先,他们在那里帮助用户。其次,它们是平台的标准,如果用户不可用,用户可能会感到烦躁。