2012-03-30 62 views
1

在我的android應用程序中,我將向用戶顯示一些輸入值(在主佈局中),並在按下按鈕時從網站獲取數據(使用AsyncTask)。提取後我想要在一個單獨的佈局顯示輸出。動態表格佈局 - 每次運行的行和數據更改

佈局應該是這樣的:

---------------------------- 
Status: Success 
---------------------------- 
Details are as follows: 
---------------------------- 
Name of cust.  ABCDEFG 
Age      16 
Total days    365 
Present     300 
Absent     65 
Salary     10000 
etc.. 
---------------------------- 
      BACK 
---------------------------- 

對於前兩排,用它TextViews一個的LinearLayout是在我的腦海。對於最後一個按鈕「BACK」,它將顯示在LinearLayout中。有關詳細信息,我將使用TableLayout。但是這個細節部分是動態的。即行數不同。當用戶按下「返回」按鈕時,他可以進行新的抓取,新抓取的細節將再次顯示。

我打算使用ScrollView獲取詳細信息部分,以允許用戶查看內容是否有較大的行數。所以我可以通過使用代碼動態地創建佈局。但我不知道當用戶按下BACK按鈕時又該如何操作並再次提取。這個已經創建的設計會留在內存中嗎?還是有更好的方法或建議?此外,詳細信息部分的第一列中的文本可能包含較大的文本。那麼該做什麼?

+0

如果用戶按下「返回」按鈕,他會轉到上一個活動。如果你在onCreate啓動異步任務,他會看到featched數據,但是如果你在onResume上啓動任務,所有的數據都會刷新。你能解釋你的應用程序的邏輯嗎?一般來說?可能與某些圖表 – 2012-03-30 05:49:26

+0

感謝。當用戶按下後退按鈕時,主要佈局顯示。點擊主佈局上的「提交」按鈕時,AsyncTask被執行。 – 2012-03-30 08:25:41

回答

1

我會反對使用tableview,過去有過幾個問題,在你的情況下,相對佈局也可以。下面的示例突出顯示了您需要的每一行細節。

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:text="TextView" /> 
</RelativeLayout> 

對於大型測試,假設文本較長,而不僅僅是大字體大小,您可以添加

android:ellipsize="end" 

你的TextView,使其剪切的文本,如果它越來越長,和以「...」結尾。對於工作,你需要告訴第一textView1在上面的例子來:

android:layout_alignParentLeft="true" 
android:layout_toLeftOf="@+id/textView2" 

,如果你不想要的文字切割,只是刪除了android:ellipsize線。

+0

快報我知道,如果你想使用這種方式,需要任何更多的幫助:)總是樂於幫助和學習的方式:) – erbsman 2012-03-30 07:59:38

+0

thanku一點。詳細信息部分的最大行數可以是12.沒有更多。但最小值可以是5.因此,在每次獲取時,行數將介於5和12之間。對此有何建議? – 2012-03-30 08:27:36

+0

我會建議一個for循環,使包含上述示例的xml膨脹,然後將其添加到您想要的詳細信息部分中的每個「行」的線性佈局。 – erbsman 2012-03-30 09:00:42