點(diǎn)擊listview時(shí)得到item中的數(shù)據(jù)的方式

我將數(shù)據(jù)庫(kù)的數(shù)據(jù)顯示在listview上時(shí)惭笑,想通過長(zhǎng)按listview顯示菜單仓坞,菜單中包含刪除和更新操作帆阳,通過長(zhǎng)按listview顯示菜單迎吵,可以通過復(fù)寫
onCreateContextMenu()onContextItemSelected()方法來(lái)實(shí)現(xiàn)嗤形,這個(gè)很簡(jiǎn)單精偿,在這里就不贅述了,重點(diǎn)在于當(dāng)我們進(jìn)行刪除操作時(shí)赋兵,如何刪除
這一項(xiàng)笔咽,也就是我們需要得到這個(gè)item中的數(shù)據(jù),比如id毡惜,這個(gè)id是數(shù)據(jù)庫(kù)的id拓轻,而不是itemid,這兩個(gè)是不相同的经伙,因?yàn)楫?dāng)我們刪除其中的某
一個(gè)item時(shí)扶叉,itemid和數(shù)據(jù)庫(kù)的id就會(huì)不同。那么我們?nèi)绾蔚玫綌?shù)據(jù)庫(kù)的id呢帕膜?這里提供五種種方法:
方法一:讓listview設(shè)置監(jiān)聽器枣氧,這里需要提一下,我們最好是設(shè)置長(zhǎng)按監(jiān)聽器垮刹,不然的話达吞,你點(diǎn)擊一下,得到了id荒典,然后還要再長(zhǎng)按一次酪劫,得到菜單,
因?yàn)殚L(zhǎng)按只會(huì)觸發(fā)OnItemLongClickListener寺董,不會(huì)觸發(fā)OnItemClickListener覆糟,當(dāng)然你可以讓OnItemLongClickListener返回的是false,這樣就不會(huì)攔截事件了遮咖,但是只需要設(shè)置一個(gè)監(jiān)聽器豈不是更好滩字,所以最好設(shè)置長(zhǎng)按監(jiān)聽器。然后在其中寫入如下代碼:
View v=myListView.getChildAt(position);
TextView t=(TextView) v.findViewById(R.id.myTextView1);
itemid=t.getText().toString();
其中的第一行是得到listview中的item的布局,我這里是自定義的布局麦箍,用的是linearLayout漓藕,這里得到的也就是lineadlayout,第二行是得到
用于顯示id的控件挟裂,我這里是用的TextView享钞,它的id就是R.id.myTextView1,如果你使用的是系統(tǒng)的布局话瞧,那么你的對(duì)應(yīng)的id就是android.R.i d.text1嫩与,然后第三行就不用解釋了,這樣就得到了數(shù)據(jù)庫(kù)中的id交排,當(dāng)然你還可以得到別的很多數(shù)據(jù)。
方法二:
listview設(shè)置監(jiān)聽器饵筑,然后用到游標(biāo)埃篓,在監(jiān)聽器中加入如下代碼:
String sql="select userid from user";
cursor=sqLiteDatabase.rawQuery(sql, null);
cursor.moveToPosition(position);
int id2=cursor.getInt(cursor.getColumnIndex("userid"));
這樣就得到了這些你所點(diǎn)擊的item中的數(shù)據(jù)庫(kù)id
方法三:
listview設(shè)置監(jiān)聽器根资,然后寫入如下代碼:
HashMap<String, String> h1= (HashMap<String, String>) parent.getItemAtPosition(position);
h1.get("userid");
這個(gè)方法第一行代碼得到的是每一個(gè)item的值架专,注意是item的值,這里的itemHashMap結(jié)構(gòu)的玄帕。這與第一中方法不同部脚,第一種方法的第一行代碼是得到item的布局
第二行代碼是取值,因?yàn)槭?code>HashMap結(jié)構(gòu)的裤纹,所以采用這個(gè)方式取值委刘,其中"userid"是鍵。
方法四:
不設(shè)置監(jiān)聽器鹰椒,在onContextItemSelected()方法中寫入代碼:
AdapterView.AdapterContextMenuInfo info=(AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int q=(int) info.id;
Log.i("Logcat", "q="+q);
View v1= myListView.getChildAt(q);
TextView t2=(TextView) v1.findViewById(R.id.myTextView1);
String st=t2.getText().toString();
這樣的到的st就是你的itemid了锡移。
方法五:不設(shè)置監(jiān)聽器,在onContextItemSelected()方法中寫入代碼:
AdapterView.AdapterContextMenuInfo info=(AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
String sql="select userid from user";
cursor=sqLiteDatabase.rawQuery(sql, null);
cursor.moveToPosition((int) info.id);
int id2=cursor.getInt(cursor.getColumnIndex("_id")); 這樣就得到了這些你所點(diǎn)擊的item中的數(shù)據(jù)庫(kù)id漆际∠海看上述的代碼,就會(huì)發(fā)現(xiàn)這個(gè)和方法二類似奸汇,方法二的position`就是這里的(int) info.id施符,
這個(gè)方法比方法二更簡(jiǎn)單,因?yàn)椴挥迷O(shè)置監(jiān)聽器擂找。這個(gè)方法最簡(jiǎn)單戳吝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市婴洼,隨后出現(xiàn)的幾起案子骨坑,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欢唾,死亡現(xiàn)場(chǎng)離奇詭異且警,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)礁遣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門斑芜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人祟霍,你說(shuō)我怎么就攤上這事杏头。” “怎么了沸呐?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵醇王,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我崭添,道長(zhǎng)寓娩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任呼渣,我火速辦了婚禮棘伴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屁置。我一直安慰自己焊夸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布蓝角。 她就那樣靜靜地躺著阱穗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帅容。 梳的紋絲不亂的頭發(fā)上颇象,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音并徘,去河邊找鬼遣钳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛麦乞,可吹牛的內(nèi)容都是我干的蕴茴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼姐直,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼倦淀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起声畏,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤撞叽,失蹤者是張志新(化名)和其女友劉穎姻成,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體愿棋,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡科展,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了糠雨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片才睹。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖甘邀,靈堂內(nèi)的尸體忽然破棺而出琅攘,到底是詐尸還是另有隱情,我是刑警寧澤松邪,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布坞琴,位于F島的核電站,受9級(jí)特大地震影響逗抑,放射性物質(zhì)發(fā)生泄漏置济。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一锋八、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧护盈,春花似錦挟纱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至胸竞,卻和暖如春欺嗤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背卫枝。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工煎饼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人校赤。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓吆玖,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親马篮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沾乘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容