- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 OnItemClickListener
不适用于我的 ListView
我是这样设置的:
ChatAdapter ca = new ChatAdapter(this, chatProfileList);
chatListView.setAdapter(ca);
chatListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Toast.makeText(ChatAct.this, "Yay its clicked.", Toast.LENGTH_LONG).show();
}
});
错误:当我点击列表项时没有任何反应,它根本没有触发。
事实:
尝试过:
android:descendantFocusability="blocksDescendants"
添加到我的 list_item.xml 根android:focusable="false"
添加到我的 list_item.xml 中的所有元素android:focusableInTouchMode="false"
添加到我的 list_item.xml 中的 TextViewandroid:clickable="false"
添加到我的 list_item.xml 中的 TextView我还不能添加声望奖励,但第一个可行的解决方案将获得 100 声望奖励。
请帮忙,Android 又这么随机。
编辑:
我的适配器没有任何东西(?)可以窃取焦点
public class ChatAdapter extends BaseAdapter {
public List<ChatUnit> adapterData = new ArrayList<ChatUnit>();
LayoutInflater inflater;
Activity act;
public ChatAdapter(Activity act, List<ChatUnit> adapterData) {
this.act = act;
inflater = LayoutInflater.from(act);
this.adapterData = adapterData;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
ChatListView chatListItemView = (ChatListView) convertView;
if (chatListItemView == null) {
chatListItemView = new ChatListView(act);
chatListItemView.initView(this.act);
viewHolder = new ViewHolder();
viewHolder.nameTv = (TextView) chatListItemView.findViewById(R.id.chat_name_tv);
viewHolder.iconIv = (ImageView) chatListItemView.findViewById(R.id.chat_profile_iv);
viewHolder.gameRequestsTv = (TextView) chatListItemView.findViewById(R.id.chat_naptar_tv);
viewHolder.newMessagesTv = (TextView) chatListItemView.findViewById(R.id.chat_bubi_tv);
viewHolder.backgroundViewGroup = (ViewGroup) chatListItemView.findViewById(R.id.chat_list_item_backgroun);
viewHolder.chatSchedImg = (ImageView) chatListItemView.findViewById(R.id.chat_sched_img);
chatListItemView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) chatListItemView.getTag();
}
final ChatUnit chatUnit = adapterData.get(position);
try {
if (chatUnit != null) {
viewHolder.nameTv.setText(chatUnit.name);
viewHolder.gameRequestsTv.setText(chatUnit.gameRequest);
viewHolder.newMessagesTv.setText(chatUnit.newMessage);
Picasso.with(this.act).load(chatUnit.pictureUrl).into(viewHolder.iconIv);
// Set!!!!
chatListItemView.setData(chatUnit);
}
} catch (Exception e) {
e.printStackTrace();
}
return chatListItemView;
}
class ViewHolder {
// ..
public ViewGroup backgroundViewGroup;
public TextView nameTv;
public ImageView iconIv;
public TextView gameRequestsTv;
public TextView newMessagesTv;
public ImageView chatSchedImg;
}
@Override
public int getCount() {
if (adapterData != null) {
return adapterData.size();
} else {
return 0;
}
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
public List<ChatUnit> getAdapterData() {
return adapterData;
}
}
我的 list_item_view.xml:
不包含任何请求焦点的 View 或任何可点击的东西。
<ImageView
android:id="@+id/chat_profile_iv"
android:layout_width="51dp"
android:layout_height="70dp"
android:layout_marginRight="7dp"
android:focusable="false"
android:src="@drawable/male1" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginRight="7dp"
android:layout_weight="1"
android:focusable="false"
android:orientation="vertical" >
<hu.illion.sporttech.views.other.SportTechTextView
android:id="@+id/chat_name_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="false"
android:ellipsize="end"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center|left"
android:text="Ez egy név itt"
android:textColor="#fff"
android:textSize="18sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="false" >
<ImageView
android:id="@+id/chat_online_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:focusable="false"
android:src="@drawable/online" />
<TextView
android:id="@+id/chat_online_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="3dp"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="Online"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#68ff5d" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:focusable="false"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="false" >
<TextView
android:id="@+id/chat_bubi_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:focusable="false"
android:text="0"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#8b8b8b"
android:textSize="12sp" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:focusable="false" >
<ImageView
android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:src="@drawable/chatke" />
</FrameLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="false" >
<TextView
android:id="@+id/chat_naptar_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="0"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#8b8b8b"
android:textSize="12sp" />
<ImageView
android:id="@+id/chat_sched_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:focusable="false"
android:src="@drawable/naptarka" />
</LinearLayout>
</LinearLayout>
编辑 2:
我按照你们中的一些人的建议一个一个地删除了我的元素,现在我最终得到了一个单一的线性布局。还是行不通。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/chat_list_item_backgroun"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="#123"
android:orientation="horizontal"
>
最佳答案
如果列表中膨胀 View 中的某个元素正在接收触摸事件(onClick
、onKeyDown
等),它将在它到达之前被消耗掉列表项,因此不会调用监听器
关于android - 同样的老故事 : OnItemClickListener just not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21705259/
那就是我的第一个使用MVVM的项目,MVVM light。 我有一个列表框,该列表框从PersonList Observable集合中刷新,正常添加和删除刷新。问题是编辑项目时。 我寻找了解决该问题的
这个问题在这里已经有了答案: How do I return the response from an asynchronous call? (41 个回答) 关闭10 年前。 我有这个代码 var
我有一个很大的配置文件(用户),我需要将其转到正确的位置并设置一些默认值。 因为我有一个安装程序类,所以我在其中的配置文件中添加了一些参数设置,但在安装程序文件夹中创建了配置文件。 确保这些默认参数只
|AA|多对多|BB|多对多 |CC| 与连接表映射成为 |AA|--|AA_BB|--|BB|--|BB_CC|--|CC| (抱歉,我无法发布图片,声誉低) 编辑:简短的问题是为什么如果a创建Aa
我想创建这个例子 GET /my_store/products/_search { "query" : { "filtered" : { "query"
AWS 为我们提供了 Athena 来运行无服务器 Hive 查询,Azure 是否有任何服务可以让我们运行无服务器 Hive 查询。 最佳答案 @ clown 。我相信您正在寻找的 Hive 的 A
这让我抓狂......这很好用: jQuery(document).ready(function(){ setTimeout(function(){ jQuer
我是一名优秀的程序员,十分优秀!