- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 ListView 的 OnItemCliskListener 有一个愚蠢的问题。它在 XML 非常简单时运行良好,但在我提高其复杂性后,OnItemCliskListener 停止工作
换句话说,我有一个只有一个 TextView 的 ListView。但是,如果我将我的 ListView 变成一个更复杂的列表,其中包含其他 TextView、Icon 和 CheckBox,ClickListener 将停止工作。
如果我运行仅更改 XML 的完全相同的代码,OnItemCliskListener 将停止工作。如果你能帮助我,我将不胜感激
工作 ListView :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:orientation="vertical"
android:layout_height="fill_parent">
<TextView android:id="@+id/title"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/appCheck"
android:layout_toRightOf="@+id/appIcon"
android:textAppearance="?android:attr/textAppearanceLarge">
</TextView>
</RelativeLayout>
不工作 ListView :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:orientation="vertical"
android:layout_height="fill_parent">
<ImageView android:src="@drawable/icon" android:id="@+id/appIcon"
android:layout_width="30px" android:layout_height="40px"></ImageView>
<CheckBox android:id="@+id/appCheck"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"></CheckBox>
<TextView android:id="@+id/title"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/appCheck"
android:layout_toRightOf="@+id/appIcon"
android:textAppearance="?android:attr/textAppearanceLarge">
</TextView>
<TextView android:id="@+id/subtitle"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/appCheck"
android:layout_toRightOf="@+id/appIcon" android:layout_below="@+id/title"
android:textAppearance="?android:attr/textAppearanceSmall">
</TextView>
</RelativeLayout>
我的 JAVA Activity :
public class MyTabsActivity extends TabActivity implements OnTabChangeListener {
private static final String LIST3_TAB_TAG = "List3";
private RelativeLayout layoutTab3;
private MyArrayAdapter adapterListViewTab3;
private TabHost tabHost;
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabHost = getTabHost();
tabHost.setOnTabChangedListener(this);
...
...
// ----------------- BUILD TAB3
// That is my Tab of Running App
layoutTab3 = (RelativeLayout) findViewById(R.id.running_app_relative_layout);
// Fill my ListView of Running App
ListView runningAppList = (ListView) findViewById(R.id.running_app_listview);
List<String> list3Strings = new ArrayList<String>();
list3Strings.add("Item 1");
list3Strings.add("Item 2");
list3Strings.add("Item 3");
list3Strings.add("Item
adapterListViewTab3 = new MyArrayAdapter(this, android.R.layout.simple_list_item_1, list3Strings);
runningAppList.setAdapter(adapterListViewTab3);
// ????????????????????????????????????????????????????????????????????????????????????????????
// >>>>>>>>>>>> THIS OnItemClickAdapter DOESN'T WORK !!!!! WHY ????????
runningAppList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MyTabsActivity.this, "EUREKA", Toast.LENGTH_SHORT).show();
}
});
...
// add Tab3
TabSpec tab3 = tabHost.newTabSpec(LIST3_TAB_TAG).setIndicator(LIST3_TAB_TAG).setContent(new TabContentFactory() {
public View createTabContent(String arg0) {
return layoutTab3;
}
});
tabHost.addTab(tab3);
layoutTab3.setVisibility(View.INVISIBLE);
...
}
}
我的 R.layout.main:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<ListView android:id="@+id/list1" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1">
</ListView>
<ListView android:id="@+id/list2" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1">
</ListView>
<RelativeLayout android:id="@+id/running_app_relative_layout"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal"
android:id="@+id/coco" android:layout_alignParentTop="true"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<ListView android:id="@+id/running_app_listview"
android:scrollbars="vertical" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_gravity="fill_vertical"
android:layout_alignParentTop="true"></ListView>
</LinearLayout>
</RelativeLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
最佳答案
我发现当自定义 ListView 包含可聚焦元素时,onListItemClick 将不起作用(我认为这是预期的行为)。所以我刚刚从自定义 View 中删除了焦点,它成功了。换句话说,我在我的 View 中添加了以下命令:
android:focusable="false"
android:focusableInTouchMode="false"
完整的解释在这里可用:How to fire onListItemClick in Listactivity with buttons in list?
关于android - 在 TabActivity 内的 ListView 上使用 OnItemClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6920283/
类型new AdapterView.OnItemClickListener(){}必须实现继承的抽象方法AdapterView.OnItemClickListener.onItemClick(Adap
当我在以下位置输入此代码时,出现“OnItemClickListener 无法解析为类型”的错误: package com.funkystudios.android.facts; import and
我已经检查过解决方案 here , here , here和 here 。它们都不适合我。 我的问题如下:我有一个仅由复选框组成的 ListView。我想在单击复选框后立即将相关复选框的当前状态保存到
我在 Android Studio 中设置了一个 Listview,但需要帮助编写 OnItemClickListner。 我已经尝试过该代码,但似乎不起作用。 public class MainAc
啊,我在这里做错了什么我已经为 ListView 和 onClick 设置了 onItemClickListener将它带到不同的 Activity ,但它告诉我它必须使用 OnItemClickli
我有一个 fragment ,其中包含一个 recyclerview,它有一个交错的网格布局管理器,其中 View 持有者只有一个图像。我试图在选择菜单选项(删除图标)后为 recyclerView
DataAccess data = new DataAccess(db); List countries = data.getCountries(); setListAdapter(new Array
我正在寻求构建一个程序,让用户从文本列表中点击,这会将他们带到另一个 Activity 。 我知道 RecyclerView 没有点击监听器,就像 ListView 一样,但是经过几次尝试,我无法让它
我想要 OnitemClickListener 用于 listview 但它对我不起作用。它给 Logcat 错误。 您的内容必须有一个 ListView ,其 id 属性为 R.id.list 我的
我在 GridView 中有一个 ItemClickListener。但是我的 itemclicklistener 没有被调用。 gridview 的项目点击没有 Activity @Override
我有两个列表,一个是自定义适配器,另一个是数组适配器。所以我希望 onItemClickListener 与自定义适配器 ListView 一起使用,并且当我开始对数组适配器使用相同的 ListVie
我有一个药物列表,当用户点击其中一个药物时,它将转到下一个显示药物详细信息的 Activity .. 下面的代码是带有药物列表的 Activity ..我知道我必须使用onclicklistener.
我认为这个问题说明了一切:我想为 ListView 创建自定义 OnItemClickListener。我想添加和更改 OnItemClickListener 的参数,但我如何创建自己的参数以便在我单
我有一个列表 fragment 显示我的自定义列表项,它由包含图像和文本等的相对布局组成。
我在类中有两个 listview,我不想为每个 listview 实现 OnClickListener,而是希望类实现 OnClickListener 并在单个覆盖方法 OnClickListener
我想在此 ListView 中实现 OnItemClickListener ,但是当我为此添加代码时,即使没有错误,我的应用程序也无法运行。当我单击 Listview 项目时,它会自动关闭。请帮助我,
我正在申请。我想从网络上的 Json 文件中获取一些信息。这行得通。现在我想要一个 onItemClickListener 到带有内容的 ListView 的项目。 onItemClickListen
我在从 ListItems 中获取选定的字符串时遇到一个问题,例如:考虑我的 ListItem 有一些元素只是被认为是一个,两个,三个出现在我的 taskLit 中,现在如果我点击 ListItem
我为 AutoCompleteTextView 设置了 setOnItemClickListener,并在 onItemClick 中,我已经根据所选值实现了需要发生的情况。该程序通过查看所选项目的索
我是 Android 开发的新手,我正在尝试构建一个 ListView,它使用 gson 从 Web 服务获取数据。我有一个模型类、一个列表类、一个适配器类和一个 Activity 类。 该列表工作正
我是一名优秀的程序员,十分优秀!