【问题标题】:Tablerow having one listitem in androidTablerow 在 android 中有一个 listitem
【发布时间】:2013-04-23 10:18:22
【问题描述】:

我有一个带有 listitem 的表格行(只有一项)

布局xml:

<TableRow android:id="@+id/first_row" >  
    <ListView
        android:id="@+id/list1"
        android:layout_width="fill_parent"
        android:layout_height="85dp"
        android:layout_weight="0.55" >
    </ListView>
</TableRow>

活动类:

TableRow firstRow =(TableRow)findViewById(R.id.first_row);
firstRow.setOnClickListener(new View.OnClickListener() {            
    @Override
    public void onClick(View v) {
        Log.d("First row clicked", "First row clicked");                
    }
});

问题是,如果我点击表格行,那么我就无法获取日志语句。

【问题讨论】:

  • 这可能是因为“ListView”正在接收 onClick 事件而不是 TableRow(因为它占用了整个 TableRow)。除此之外,您还想通过将ListView 添加到TableRow 来完成什么?
  • TableRow 中的 ListView?这样就麻烦了。

标签: android android-layout android-intent android-emulator


【解决方案1】:

您应该点击列表视图,因为它正在处理点击时的表格

ListView list =(ListView)findViewById(R.id.list1);
list.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {


    }
  });
}}

但是,在 tablerow 中包含 listview 的目的是什么?

【讨论】:

  • @String,那就这样试试吧。
【解决方案2】:

尝试在“list1”上设置监听器,因为这会占用 TableRow 的所有空间。因此,当您尝试为 TableRow 计时时,您实际上是在单击“list1”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 2012-06-18
    • 2019-03-17
    • 1970-01-01
    • 2019-12-12
    • 2011-09-04
    • 1970-01-01
    相关资源
    最近更新 更多