2011-07-04 40 views
0

我試圖創建一個搜索結果列表,它需要滾動,但我也需要能夠點擊結果去其他活動。這裏是我的代碼,任何幫助表示讚賞。ScrollView可以使用可點擊的TableLayout嗎?

<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> 

回答

0

你應該考慮使用一個ListView對於這種任務,而不是滾動您自己滾動型。

編輯:

我覺得你這個接近走錯了路。您正在對XML中的搜索查詢結果進行硬編碼?這告訴我,你根本沒有在做搜索查詢。

你應該做的是將數據放在數組或數據庫中,然後適當地查詢它並通過ArrayAdapterCursorAdapter傳遞給ListActivity。設置onListItemClicked()函數可以簡單地讓您發送一個意圖,並將適當的數據發送給您的活動。但是,考慮到你看起來距離這個更優化的解決方案還有很長的路要走(儘管我高度讚揚你去探索它)。你將不得不手動設置很多東西。

在您的使用ScrollView佈局的活動中,您需要定義幾個OnClickListener並將它們綁定到滾動視圖中的相應元素。所以像這樣的東西:

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應該從意圖中獲得Extras並使用它來顯示正確的數據。

+0

我的問題是,而不是能夠滾動和點擊,我只能通過結果滾動,我不能點擊它們 – digipen79

+0

編輯與更全面的答案。 – Estel

+0

對不起,應該提到我硬編碼這個東西在向客戶展示,但我會在 – digipen79

相關問題