大家好,我的Droid开发者朋友们!我有个问题已经困扰我好一阵子了。我希望有人能帮助我,这样我就可以继续学习了。
我无法将ContextMenu连接到我的SimpleAdapter。我已经做了大量的搜索,但找不到或“连接这些点”来解决这个问题。我不会用simpleadapter或ContextMenu做任何花哨的事情。
我的设置似乎是正确的,因为listview的onListItemClick返回了我加载到列表中的ID,所以我知道一切都设置正确了。
这是一个扩展ListActivity的公共类
这是我目前所掌握的.
我的ROW.xml列表在这里加载正常
...<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
<TextView
android:id="@id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="No data"/>
SimpleAdapter代码片段。这可以很好地工作。
SimpleAdapter notes = new SimpleAdapter(
this,
resourceNames,
R.layout.list_question_row,
new String[] { "qid", "line1","line2", "img", "img2" },
new int[] { R.id.question_id, R.id.text1, R.id.text2, R.id.img, R.id.img2 } );
;
setListAdapter( notes );这就是问题的症结所在。我似乎想不出如何将setOnCreateContextMenuListener连接到SimpleAdapter / ListView上。
此外,R.id.list也不会被Eclipse拾取。我尝试将布局XML的ID切换为@android:id/list,但似乎也不起作用。我似乎无法获得对ListView列表ID的引用。
setOnCreateContextMenuListener(new OnCreateContextMenuListener(){
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
if (v.getId()==R.id.list) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
menu.setHeaderTitle("Action Menu");
menu.add(0, MENU_EDIT, 0, "Edit");
menu.add(0, MENU_DELETE, 0, "Delete");
}
}; //end of onCreateContextMenu我希望这是一个简单的解决方案!提前感谢你的帮助。
发布于 2011-04-06 05:49:40
请尝试android.R.id.list,而不是R.id.list。
https://stackoverflow.com/questions/5558909
复制相似问题