2013-02-24 70 views
0

我想設計和實現一個進度條。但我有一些問題。具體價值的進度條

我的進度條佈局這樣

<ProgressBar 
    android:id="@+id/progress1" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="50dp" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:layout_marginTop="5dp" 
    android:max="100" 
    android:maxHeight="5sp" 
    android:progress="45" /> 

MyActivity.java

ProgressBar pb1 = (ProgressBar) findViewById(R.id.progress1); 

我的問題是關於android:max。有沒有一種方法可以根據用戶的選擇進行更改?例如,用戶可能想要將最大值設置爲1500。我想用純文本來做。 (用戶必須輸入他/她的值爲純文本)。

我該如何在java端實現它?

回答

2
ProgressBar pb1 = (ProgressBar) findViewById(R.id.progress1); 
pb1.setMax(1500); 

您可以從用戶的價值在EditText,並從String使用Integer.parseInt()它轉換爲int。然後只需將該int傳遞給setMax()方法即可更改最大值。

+0

解決方法很好,非常感謝。但是如果我有2個活動,則假設ActivityB中的EditText和ActivityB中的ProgressBar。它的方法是什麼? – hakiko 2013-02-24 21:04:15

+1

@hakiko接受ActivitA中的輸入,並將其作爲Intent Extra傳遞給ActivityB。然後檢索它並使用setMax()進行設置。 – 2013-02-24 21:05:26