1. 程式人生 > >listview的item裡面有Button,並給其設定了點選事件,而且有效可點選,但是listview的item點選事件卻失效了

listview的item裡面有Button,並給其設定了點選事件,而且有效可點選,但是listview的item點選事件卻失效了

問題:listview的item裡面有Button,並給其設定了點選事件,而且有效可點選,
但是listview的item點選事件卻失效了

解決方案一,測試有效:
android:descendantFocusability
該屬性是當一個為view獲取焦點時,定義viewGroup和其子控制元件兩者之間的關係。
屬性的值有三種:
beforeDescendants:viewgroup會優先其子類控制元件而獲取到焦點
afterDescendants:viewgroup只有當其子類控制元件不需要獲取焦點時才獲取焦點
blocksDescendants:viewgroup會覆蓋子類控制元件而直接獲得焦點
通常我們用到的是第三種,即在Item佈局的根佈局加上
android:descendantFocusability="blocksDescendants"的屬性。

解決方案二:
把Button改成自定義View extends TextView,
然後在adapter的getView裡面對這個view加一個onClickListener即可。
背景可以用drawable的state來控制。
這樣你就既可以點選list item,又可以點選裡面的Button了。


解決方案三 (感覺不太靠譜,前兩個不管用的使用再使用):
一般如果你ListView的View裡有點選事件需要處理,
那麼外面的onItemClickListener就不要用了,
你可以把onItemClickListener要處理的事情放在裡面的layout裡處理

相關推薦

listview的item裡面Button設定事件而且有效但是listview的item事件失效

問題:listview的item裡面有Button,並給其設定了點選事件,而且有效可點選, 但是listview的item點選事件卻失效了 解決方案一,測試有效:android:descendantF

素數距離問題 時間限制:3000 ms | 記憶體限制:65535 KB 難度:2 描述 現在出你一些數要求你寫出一個程式輸出這些整數相鄰最近的素數輸出相距長度。如果左右等距離長度素數

個人理解:判斷輸入的數是不是輸入只要判斷一個數i從2開始到到i*i小於等於輸入的這個數,對於0,1要直接輸出來0,然後找到左右的兩個素數進行比較大小後打印出即可 #include<stdio.h> #include<string.h>#inclu

python讀取sql裡面的指定資料列轉換成列表使用

程式碼如下: import pyodbc import pandas as pd import numpy as np conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};SERVER=.;DATABASE=資料庫名字

用js指定一個table裡面的一個單元格的屬性改變的簡單方法

對個table裡面的所有單元格,js可以用簡單的方法修改指定的格子    今天web老師佈置了一個作業要用html+css+js完成對一個格子的控制,具體看下圖:要求是你輸入row、col生成指定數量的table即包含row行、col列,然後隨機讓一塊<td>&l

出兩個字串找到最長公共子串返回長度java實現

給出兩個字串,找到最長公共子串,並返回其長度。 您在真實的面試中是否遇到過這個題? Yes 樣例 給出A=“ABCD”,B=“CBCE”,返回 2 注意 子串的字元應該連續的出現在原字串中,這

Java中讀取配置檔案中的內容賦值靜態變數的方法

應用場景 專案開發中某個功能需要抽取成方法寫成一個工具類,提供給別人使用。寫過工具類的人都知道,工具類中的方法一般都是靜態方法,可以直接使用類名點方法名呼叫, 使用很方便,比如判斷某個物件是否為空的方式Objects.equals().由於我寫的這個工具類中需要讀取配置檔案中的內容,但是常規方法注入成員變數時

(原創)EasyUI中datagrid的行編輯模式中找到特定的Editor添加事件

detail left order func cell options ble spa add 有時候在行編輯的時候,一個編輯框的值要根據其它編輯框的值進行變化,那麽可以通過在開啟編輯時,找到特定的Editor,為其添加事件 // 綁定事件, index為當前編輯行 v

linux列出文件夾下最近修改的文件copy到特定目錄

-m blank find work cnblogs 不知道 code 分段 class 由於我想把一個javaWeb項目的今天更改的文件移動到一個特定的文件夾,採用管道 先找到改動的文件,然後用管道移動這些文件 find ./ -mtime 0 -name *.java

提取一個字符串中的數字轉為數組

var ace fun 有米 blog 提取 function pan 一個 有米科技2017校招筆試題之一,以下是自己寫的,不代表最佳答案。 舉例:str = ‘fdfd22fifei42fkdfl5hf66‘; 結果應為:[22,42,5,66] var str =

爬取N個網頁記錄

color 完整 encode down utf 模塊 round 初始 函數 挖的坑,終於能填上了,先共享出來,大家有個對比參考。也幫忙找找錯誤。我也正在看,看看原來是哪裏出了問題。 下面這段代碼已經實現了網頁的爬取: 其效果為: 下面給出詳細說明: 上圖中出現的 _

python文本處理--定位motif在fasta文件上的位置出位置信息

find span dna pytho 文件 str odin color 所有 #!/usr/bin/python3 #-*- coding:utf-8 -*- #在序列文件上找出所有的指定motif的位置 dna=‘ATGCGAGAGAGAGAGAAGTGCTGTGT

https CA自簽名證書Webserver頒發證書

extension there form nal 3.2 vim city append cor **CA主機執行命令** [root@centos7 ~]# cd /etc/pki/CA [root@centos7 CA]# touch index.txt [root@c

docker下安裝centos上搭建lnmp環境

方便 libxml bic spro yum 啟動 openss ont dock 一、安裝CentOs容器 1.進入docker下載CentOs,這裏我使用的CentOs6.8   docker pull centos:6.8 2.創建容器   sudo docker r

postman實現從response headers中獲取cookie設置為環境變量

png header 參數 ESS 數組 字段 分割 src 圖片 1.最近在學習postman的使用方法,為了保證後續模塊操作,必須在登錄時獲取的session值,並將其設置為環境變量,session的位置處於response headers裏面返回的set-cookie

將文件拖曳到窗體上 獲取完整路徑 【C++ Builder下實現】轉

pat ext stc fff led CP tle 聲明 net 1. 在窗體的頭文件.h裏聲明處理函數和消息映射, 如: [cpp] view plain copy class TForm1 : public TForm {

C 二叉樹查詢值為x的節點列印所有的父節點

思路就跟輸出二叉樹一樣的,只不過這次是找節點 文章目錄 查詢節點 輸出此節點所有的父節點 查詢節點 //找一個值為x的節點 BiThrTree findElement(BiThrTree T, ElementType x){

C 兩個連結串列中資料節點的資料域為一個字母 其中L1包含L2在L1中找出與L2相等的字串逆置

前面相關操作在這呢,這個函式依託於此 //結構體 typedef struct Node { ElementType data; struct Node * next; } LNode, * LinkNode; //兩個連結串列中資料節點的資料域為一個字母 http

linux系統CentOS7.2安裝ffmpeg擴充套件PHP用FFmpeg擷取視訊第一幀作為視訊封面圖片新增播放視訊按鈕

最近做公司的專案中,有使用者上傳視訊,後臺這邊接收視訊並上傳,獲取視訊第一幀作為視訊封面的功能,在網上查找了好多資料,並且安裝 了ffmpeg-php的PHP擴充套件,由於版本問題,安裝好幾個版本都不成功,最後放棄安裝擴充套件,後來執行程式碼發現不用安裝那個擴充套件也能實現截圖並上傳的功能,所以要擷

Linux下用root許可權新增使用者使用者或使用者組指定目錄的讀寫許可權(比如:tomcat檔案的讀寫許可權可以用於新使用者部署專案)

目的: 在linux環境中為了安全起見,不能讓所有專案都用root部署(防止root許可權過大,對重要檔案的誤操作),所以新加使用者或使用者組,對新使用者或使用者組授予部分檔案操作的許可權。 1.建立使用者newuser,並設定密碼(預設連帶建立newuser組) # useradd n

演算法 -- 猴子大王的四種方法時間與記憶體消耗的分析和對比&PHP

本篇利用PHP對“猴子選大王”問題,給出了四種方法,並對其進行了時間消耗的分析與對比。 題目:n個猴子要選出一個大王,隨機給出一個數m,當猴子報數為m的時候,則被淘汰,剩餘的最後一個猴子即為大王。  一、演算法解釋及程式碼展示 方法一:圍圈報數 n 個猴子圍成一圈從 1