ContextMenu上下文選單

2022-02-01 07:17:39 字數 2893 閱讀 9266

上下文選單一般是真針對listview(多條資料的操作)

需求:在listview中顯示聯絡歷史的**號碼,長按顯示的上下文選單為複製號碼到撥號盤、傳送資訊、複製號碼,與之相對應的事件。

布局**:

1

<

linearlayout

xmlns:android

=""2android:layout_width

="match_parent"

3android:layout_height

="match_parent"

4android:orientation

="vertical"

>56

<

listview

7android:id

="@+id/listview"

8android:layout_width

="fill_parent"

9android:layout_height

="fill_parent"

/>

1011

linearlayout

>

mainactivity

1

package

com.android.hzy.contextmenu;

2import

3import

android.content.context;

4import

android.content.intent;

5import

android.database.cursor;

6import

android.graphics.color;

7import

android.net.uri;

8import

android.os.bundle;

9import

android.provider.calllog.calls;

10import

android.text.clipboardmanager;

11import

android.view.contextmenu;

12import

android.view.contextmenu.contextmenuinfo;

13import

android.view.menuitem;

14import

android.view.view;

15import

android.view.viewgroup;

16import

android.widget.adapterview.adaptercontextmenuinfo;

17import

android.widget.cursoradapter;

18import

android.widget.listview;

19import

android.widget.textview;

2021

public

class mainactivity extends

activity , null, null, null

);36 adapter = new myadapter(this

, c);

37//

如果資料是來自於手機本身的資料庫 使用cursoradapter的子類

38listview.setadapter(adapter);

3940

//給listview註冊上下文選單

41registerforcontextmenu(listview);42}

4344

/**45

* 建立上下文選單

46*/

47@override

48public

void

oncreatecontextmenu(contextmenu menu, view v,

49contextmenuinfo menuinfo)

5657

/**58

* 上下文選單被選擇

59*/

60@override

61public

boolean

oncontextitemselected(menuitem item)

95return

super

.oncontextitemselected(item);96}

9798

private

final

class myadapter extends

cursoradapter

104105

//建立item的布局

106@override

107public

view newview(context context, cursor cursor, viewgroup parent)

115116

//繫結資料

117@override

118public

void

bindview(view view, context context, cursor cursor)

125126

}127 }

注:清單檔案中需要新增許可權

<

uses-permission

android:name

="android.permission.read_contacts"

/>

使用上下文選單ContextMenu

在windows中,我們已經習慣了在檔案上單擊右鍵來執行 開啟 重名名 剪下 刪除 等操作,這個右鍵彈出的選單就是上下文選單。你可能會笑道 哈哈,你不會連快捷鍵都不會用吧?咳咳,這個。舉個例子嘛。沒錯,windows中快捷鍵能幫助我們提高操作的效率,但是android中這招可不管用嘍,注意 andr...

上下文 上下文棧

全域性 函式 區域性 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 window 開始執行全域性 在呼叫函式...

中斷上下文 程序上下文

在學習與作業系統相關的知識時候,我們經常遇到程序上下文 中斷上下文,看似熟悉又感覺不是特別清晰。這裡我們從如下幾個方面進行描述。上下文是從英文中context翻譯過來的,指的是一種環境。上下文我們看起來不怎麼熟悉,但是我們可以看context的中文翻譯,或者我們能更加的情形些。context n 語...