android問題,onCreateContextMenu 上下菜單問題,求解 androidView 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你注册的那个View?editText01=(EditText)findViewById(R.id.editText01);editText02=(EditText)findViewById(R.id.editText02);这个就注册了,然后switch (v.getId()) {case R.id.editText01:当你点击到这个R.id.editText01资源文件也就是控件的时候就会响应事件 package com.spl.ok;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.MenuItem;import android.view.View;import android.view.Window;import android.widget.ArrayAdapter;import android.widget.EditText;import android.widget.ListView;public class SXWcdActivity extends Activity { private EditText editText01; private EditText editText02; private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.textmenu); editText01=(EditText)findViewById(R.id.editText01); editText02=(EditText)findViewById(R.id.editText02); // this.registerForContextMenu(lv); } @Override public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { menu.setHeaderIcon(R.drawable.ic_launcher); System.out.println(v.getId()); System.out.println(R.id.editText01); System.out.println(R.id.editText02); switch (v.getId()) { case R.id.editText01: menu.add(0, 1, 0, "菜單項1"); menu.add(0, 2, 0, "菜單項2"); menu.add(0, 3, 0, "菜單項3"); break; case R.id.editText02: menu.add(0, 4, 0, "菜單項4"); menu.add(0, 5, 0, "菜單項5"); break; } } @Override public boolean onContextItemSelected(MenuItem item) { System.out.println("33333333333333"); System.out.println(item.getItemId()); System.out.println(item.getTitle()); switch (item.getItemId()) { case 1: System.out.println("11111111111"); break; case 2: System.out.println("111111111113"); break; case 3: editText01.append("\n"+item.getTitle()+"被按下"); break; case 4: System.out.println("111111111115"); break; case 5: editText02.append("\n"+item.getTitle()+"被按下"); break; } return true; } }這是你的文檔的那個代碼,我照著複製的,問題就在 沒有響應事件 你的这个代码有错误,EditText的监听事件写错地方了 我在虛擬機裏面長按空白處,沒有響應我代碼裏面的事件,只是響應了虛擬機裏面的自帶的,咩有加載我設置的內容,也就是根本沒有進public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { menu.setHeaderIcon(R.drawable.ic_launcher); 你在文檔裏面只這些public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {menu.setHeaderIcon(R.drawable.header);switch (v.getId()) {case R.id.editText01:menu.add(0, MENU1, 0, "菜單項1");menu.add(0, MENU2, 0, "菜單項2");menu.add(0, MENU3, 0, "菜單項3");break;case R.id.editText02:menu.add(0, MENU4, 0, "菜單項4");menu.add(0, MENU5, 0, "菜單項5");break;} }public boolean onContextItemSelected(MenuItem item) {switch (item.getItemId()) {case MENU1:case MENU2:case MENU3:editText01.append("\n"+item.getTitle()+"被按下");break;case MENU4:case MENU5:editText02.append("\n"+item.getTitle()+"被按下");break; }return true;} 那你注册一下registerForContextMenu 你可以去我的电脑上面看我的eclipse工程,里面有的……在阿怡左边那台电脑 餓,註冊哪個View啊,registerForContextMenu(這裡面是View),我到哪裡找啊,而且我已經試過了,如果用當前頁面的View 也就是registerForContextMenu(getWindow.findV....id(R.....));試過了,可以調控件,但是進去onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {以後,這裡面的 小v, v.getID,是一層不變得,不管我點那個 文本框,他都不會變,所以就不會加載數據了 你剛剛說我protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.textmenu); editText01=(EditText)findViewById(R.id.editText01); editText02=(EditText)findViewById(R.id.editText02); }註冊錯了,那要到哪裡去註冊 不好意思啊,有点忙,我待会直接写个demo给你,你再仔细看看 关于android设备的唯一标识问题。。。 ios与安卓的发展前景 android 如何获取未读短信的条数 安卓软件和互联网服务器数据交互问题 android开发最难的是驱动吗? 如何获取startActivityForResult方法跳转到的子activity的键盘事件 请教一个算法问题 新线程开启的方法为什么自动跳到主线程 android新手求教,大神帮帮忙 AndroidEventManager 希望大牛扶正 如何实现对话框的模式状态? androidx86 屏幕横竖旋转线条斜线的情况
editText01=(EditText)findViewById(R.id.editText01);
editText02=(EditText)findViewById(R.id.editText02);
这个就注册了,然后
switch (v.getId()) {
case R.id.editText01:
当你点击到这个R.id.editText01资源文件也就是控件的时候就会响应事件
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;public class SXWcdActivity extends Activity {
private EditText editText01;
private EditText editText02;
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.textmenu);
editText01=(EditText)findViewById(R.id.editText01);
editText02=(EditText)findViewById(R.id.editText02);
// this.registerForContextMenu(lv);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
menu.setHeaderIcon(R.drawable.ic_launcher);
System.out.println(v.getId());
System.out.println(R.id.editText01);
System.out.println(R.id.editText02);
switch (v.getId()) {
case R.id.editText01:
menu.add(0, 1, 0, "菜單項1");
menu.add(0, 2, 0, "菜單項2");
menu.add(0, 3, 0, "菜單項3");
break;
case R.id.editText02:
menu.add(0, 4, 0, "菜單項4");
menu.add(0, 5, 0, "菜單項5");
break;
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
System.out.println("33333333333333");
System.out.println(item.getItemId());
System.out.println(item.getTitle());
switch (item.getItemId()) {
case 1:
System.out.println("11111111111");
break;
case 2:
System.out.println("111111111113");
break;
case 3:
editText01.append("\n"+item.getTitle()+"被按下");
break;
case 4:
System.out.println("111111111115");
break;
case 5:
editText02.append("\n"+item.getTitle()+"被按下");
break;
}
return true;
}
}
這是你的文檔的那個代碼,我照著複製的,問題就在 沒有響應事件
menu.setHeaderIcon(R.drawable.ic_launcher);
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderIcon(R.drawable.header);
switch (v.getId()) {
case R.id.editText01:
menu.add(0, MENU1, 0, "菜單項1");
menu.add(0, MENU2, 0, "菜單項2");
menu.add(0, MENU3, 0, "菜單項3");
break;
case R.id.editText02:
menu.add(0, MENU4, 0, "菜單項4");
menu.add(0, MENU5, 0, "菜單項5");
break;} }public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU1:
case MENU2:
case MENU3:
editText01.append("\n"+item.getTitle()+"被按下");
break;
case MENU4:
case MENU5:
editText02.append("\n"+item.getTitle()+"被按下");
break; }
return true;}
ContextMenuInfo menuInfo) {以後,這裡面的 小v, v.getID,是一層不變得,不管我點那個 文本框,他都不會變,所以就不會加載數據了
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.textmenu);
editText01=(EditText)findViewById(R.id.editText01);
editText02=(EditText)findViewById(R.id.editText02);
}註冊錯了,那要到哪裡去註冊