如何在listview android中制作完整的行可点击

shy*_*yam 5 android

我有一个ListView,内容如第一行假设android,第二行黑莓和第三行iphone所以现在我想让ListView的整行可点击但是当我点击listview行的上面的内容时它只执行点击事件但是我如果我点击连续的任何位置然后应该执行点击操作.我可以使用以下列表查看listview clickable的代码如下:

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listartistspacedetailview);

    setListAdapter(new ArrayAdapter(this,R.layout.listitem_layout,R.id.barrio, keywordxmlparsing.array_artistname));

}   
@Override
protected void onListItemClick(ListView l, View v, int position, long thisID)
{
    Intent i = new Intent(Artistspacedetailview.this, Loadingimagetab.class);
    startActivity(i);   
}
Run Code Online (Sandbox Code Playgroud)

和xml文件中的ListView标记是:

<ListView
    android:clickable="true"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:id="@+id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_below="@id/horizontolline"
    android:cacheColorHint="#00000000"
    android:drawSelectorOnTop="false" />
Run Code Online (Sandbox Code Playgroud)

TFe*_*nis 9

我知道这个问题已经过时了,但是当我在寻找这个问题时,谷歌是我第一次遇到这个问题.

这是我的解决方案.

<ListView
    android:id="@+id/XXXXXX"
    android:layout_width="fill_parent"   // Changed from wrap content
    android:layout_height="fill_parent"  // Changed from wrap content
    android:clickable="true" >           // This was suggested in other topics
</ListView>
Run Code Online (Sandbox Code Playgroud)


nis*_*3a5 -2

这可能对你有帮助......

listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> list, View view, int position, long id) {
           //code to be executed.
    }

 }
});
Run Code Online (Sandbox Code Playgroud)