Listview OnClick不起作用

时间:2015-02-17 18:22:08

标签: android parse-platform

我有一些显示ListView的代码,允许点击一个项目将其带到一个视图活动。但是,由于某种原因,onClickListener无法正常工作。我认为这可能是由于EditText可以集中精力。但是,在设置为false时,我发现事实并非如此。

listview_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5sp"
android:textSize="15dp"
android:inputType="textMultiLine">


</TextView>

3 个答案:

答案 0 :(得分:0)

删除TextView布局上的inputType属性:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/text"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:padding="5dp"
          android:textSize="15sp"/>

另外,您可以看到我分别使用match_parentwrap_content作为宽度和高度。 fill_parent现已弃用。

匹配父级意味着它将适合整个ListView的宽度,并且包装内容是hieght将根据需要跨越,因此整个文本将是可见的,即使它是多行的。

另一个注意事项:对于文字大小,您使用sp表示宽度,高度等,使用dpWorthy article进一步解释了这一点。

答案 1 :(得分:0)

一旦执行后台任务将没有句柄。所以你的listview监听器将被杀死。您需要将其从后台删除并将其放在onCreate中。您可以在postExecute中设置一个标志,如果依赖于该标志,则执行。

答案 2 :(得分:0)

在列表项目布局中使用android:descendantFocusability="blocksDescendants"

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:descendantFocusability="blocksDescendants">

    <TextView 
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5sp"
        android:textSize="15dp"
        android:inputType="textMultiLine" />

</LinearLayout>

fill_parent替换match_parent,因为它已被弃用。