只能单击ListView项目中的文本

时间:2011-03-30 08:47:52

标签: android

我们有ListView动态内容,我们只能点击文字,而不是整个项目(这意味着短文本意味着一个小的触摸区域)

我们的ListView:

ListView lv = getListView();  
lv.setTextFilterEnabled(true);  
lv.setOnItemClickListener(this);

我们需要做些什么来使整个项目可以点击而不仅仅是文本

4 个答案:

答案 0 :(得分:3)

请务必使用您正在使用的textview完成listview的所有内容,并将其放置在其属性中:

android:layout_width="match_parent"

答案 1 :(得分:0)

您需要拦截textview父级中的触摸事件。见onInterceptTouchEvent

答案 2 :(得分:0)

设置 listView 的布局宽度以匹配它的父级:

[HttpPost]
    public ActionResult Index(string stringID)
    {
        var ID = Request.Form[0].ToString();
        var date = Convert.ToDateTime(Request.Form[1]);

        string strSQL = "UPDATE bp_open_issues SET WhenFixed = '" + date + "' WHERE ID = '" + ID + "' ";
        SqlConnection con =
                new SqlConnection("Data Source=10.67.XX.XXX;Initial Catalog=XXX111; User Id=XXXXXX; Password=XXXXXX;");
        SqlCommand cmd = new SqlCommand(strSQL, con);
        con.Open();
        cmd.ExecuteNonQuery();
        TempData["msg"] = "<script>alert('Change succesfully');</script>";
        return Redirect("/");
    }

否则,虽然该行似乎是屏幕的整个宽度,但列表视图实际上并非如此。

答案 3 :(得分:0)

就我而言,我在DialogFragment中使用了ListView + ArrayAdapter。所有android:layout_width都是正确的。

val adapter = ArrayAdapter(requireContext(), android.R.layout.simple_list_item_1, options)
        listView.adapter = adapter

所以我将DialogFragment更改为Fragment,它可以工作-现在整个列表项都是可单击的...