我正在尝试创建一个搜索结果列表,它需要是可滚动的,但我还需要能够单击一个结果以转到另一个活动。这是我的代码,任何帮助都很感谢。
<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>
发布于 2011-07-05 00:26:39
对于这类任务,您应该考虑使用ListView,而不是使用自己的ScrollView。
编辑:
我认为你处理这件事的方式不对。您正在将搜索查询的结果硬编码为XML吗?这告诉我,您实际上根本不是在进行搜索查询。
您应该做的是将数据放在数组或数据库中,然后对其进行适当的查询,并通过ArrayAdapter
或CursorAdapter
将其传递给ListActivity
。然后,设置onListItemClicked()
函数将允许您将带有适当数据的意图发送到您的活动。
然而,鉴于您看起来离这个更优的解决方案还有很长的路要走(尽管我强烈建议您去探索它);您将不得不手动设置很多东西。
在使用ScrollView
布局的活动中,您需要定义几个OnClickListener
并将它们绑定到Scrollview中的适当元素。所以就像这样:
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中获取额外内容,并使用它来显示正确的数据。
https://stackoverflow.com/questions/6573899
复制相似问题