我有一个 3x3 GridView ,其中包含自定义线性布局。但我想要这样的东西 layout当我在互联网上搜索时,由于列跨度, GridView 是不可能的。我使用 gridview 是因为 onClickListener 方法:当用户单击其中一个网格单元时,一个新的 Activity 就会启动(不是同一个 Activity ,所以它就像一个主菜单)。可以在 TableLayout 中执行吗?那么,如果我单击一个单元格,即使它跨越了它,我可以调用 onClick 方法吗?我在网上搜索了一些解决方案,但我发现的所有内容都是单击表格行(如果一行中有 3 个自定义布局,这对我来说不好)。
我的 TableLayout 布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/background_light"
android:orientation="vertical" >
<ImageView
android:id="@+id/headerPicture"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/imageString"
android:src="@drawable/bicaj" />
<TableLayout
android:id="@+id/mainGrid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:numColumns="3" >
<TableRow
android:id="@+id/mainFirstRow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dip" >
<LinearLayout
android:id="@+id/mainOnline"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/mainIconOnline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/main_page_icon_descp" />
<TextView
android:id="@+id/mainTextOnline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp" />
</LinearLayout>
</TableRow>
.
.
.
.
</TableLayout>
</LinearLayout>
最佳答案
您可以将 clickListeners
添加到 ImageView
.....
<LinearLayout
android:id="@+id/mainOnline"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/mainIconOnline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/main_page_icon_descp" />
......
在您的 Activity 中
ImageView butt1 = (ImageView) findViewById(R.id.mainIconOnline);
butt1.setOnClickListener(this);
@Override
public void onClick(View v) {
if (v.getId() == R.id.mainIconOnline) {
Intent i = new Intent(this, SecondActivityclass);
startActivity(i);
}
}
这应该有效
关于java - Android 表格布局点击单元格内容监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18987663/