我们在写Android程序的时候,免不了要使用ListView,也免不了要使用ContextMenu,但是如何将其结合起来呢。比如Contacts程序是如何删除练习人的呢。
添加或则删除一个tem有不同的方式,添加Item可以使用ListView自身带的add()方法即可,但是在ContextMenu中删除这个Item还是有些麻烦的。
下面是一个小例子:
1、可以在EditText中输入内容后动态添加Item
2、可以在ContextMenu中添加(但只能添加同一个Item)
3、可以点击Item直接删除Item
4、可以长按Item后弹出ContextMenu来删除Item
看代码:
main.xml
- <?xml
version="1.0" encoding="utf-8"?> - <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" -
android:orientation="vertical" -
android:layout_width="fill_parent" -
android:layout_height="fill_parent" -
> - <LinearLayout
-
android:orientation="horizontal" -
android:layout_width="match_parent" -
android:layout_height="wrap_content"> -
<EditText -
android:id="@+id/edittext" -
android:layout_width="fill_parent" -
android:layout_height="wrap_content" -
android:layout_weight="1" -
/> -
<Button -
android:id="@+id/additem" -
android:layout_width="fill_parent" -
android:layout_height="wrap_content" -
android:layout_weight="4" -
android:text="添加" -
/> - </LinearLayout>
-
-
<ListView -
android:id="@android:id/list" -
android:layout_width="fill_parent" -
android:layout_height="wrap_content" -
/> - </LinearLayout>
Java代码