首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用可点击的TableLayout可以使用ScrollView吗?

使用可点击的TableLayout可以使用ScrollView吗?
EN

Stack Overflow用户
提问于 2011-07-05 00:21:16
回答 1查看 593关注 0票数 0

我正在尝试创建一个搜索结果列表,它需要是可滚动的,但我还需要能够单击一个结果以转到另一个活动。这是我的代码,任何帮助都很感谢。

代码语言:javascript
运行
复制
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical" android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TableLayout android:id="@+id/resultsLayout"
    android:layout_height="match_parent" android:layout_width="fill_parent"
    android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"
    android:scrollbars="vertical">
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="twoLine" android:id="@+id/tlli1">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="MUDD PUPPIES SELF SERVE DOG " android:ellipsize="none"
                android:scrollHorizontally="false"/>
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="20091345" />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli2">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="MUDD, ANGELA G " />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="2008022979 3383 6" />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli3">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="GRABAU, ANDREW S " />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="2011003340 3771 110 " />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli4">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="S M E T INC " />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="1987016628 652 590 " />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli5">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="A GOOD START INC " />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="20040649" />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli6">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="AGUILAR, JOHN D " />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="2001015672 1747 306 " />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli7">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="THEIS, ARLENE C " />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="1998020639 1439 544 " />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli8">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="R-E INVESTMENT CO " />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="1985005167 530 925 " />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli9">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Man" />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="Machine" />
        </TwoLineListItem>
    </TableRow>
    <TableRow>
        <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:mode="oneLine" android:id="@+id/tlli10">
            <TextView android:id="@android:id/text1" android:gravity="left"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Man" />
            <TextView android:id="@android:id/text2" android:gravity="right"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_below="@android:id/text1" android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="Machine" />
        </TwoLineListItem>
    </TableRow>
</TableLayout>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-05 00:26:39

对于这类任务,您应该考虑使用ListView,而不是使用自己的ScrollView。

编辑:

我认为你处理这件事的方式不对。您正在将搜索查询的结果硬编码为XML吗?这告诉我,您实际上根本不是在进行搜索查询。

您应该做的是将数据放在数组或数据库中,然后对其进行适当的查询,并通过ArrayAdapterCursorAdapter将其传递给ListActivity。然后,设置onListItemClicked()函数将允许您将带有适当数据的意图发送到您的活动。

然而,鉴于您看起来离这个更优的解决方案还有很长的路要走(尽管我强烈建议您去探索它);您将不得不手动设置很多东西。

在使用ScrollView布局的活动中,您需要定义几个OnClickListener并将它们绑定到Scrollview中的适当元素。所以就像这样:

代码语言:javascript
运行
复制
TwoLineListItem tli1 = (TwoLineListItem) findViewById(R.id.tlli1);
tli1.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
    Intent intent = new Intent(getBaseContext(), YourResultDetailActivity.class);
    intent.putExtra("foo", 1);
    startActivity(intent);
  }
});

并对你的十个项目中的每一个重复。然后,YourResultDetailActivity应该从intent中获取额外内容,并使用它来显示正确的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6573899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档