2013-03-15 83 views
1

我正在開發一個應用程序,其中當用戶單擊某個按鈕時,將打開一個新的活動佈局 。此新佈局包含各種視圖。使EditText視圖(zipcode)自動加載

其中之一是郵政編碼EditText。我想,這郵政編碼EditText通過GPS自動獲取用戶的郵政編碼並填寫in.For這個我想是這樣工作的:

  1. 用戶點擊一個按鈕。
  2. 新的佈局加載。
  3. 所有視圖加載完美,並在郵政編碼EditText前加載按鈕將顯示 它會自動顯示GPS。

我該如何處理第三點,即顯示加載直到用戶郵政編碼沒有被提取。

+0

發佈處理第三個點的代碼。 – 2013-03-15 09:30:39

+0

最好的方法是顯示進度條,直到請求遊戲結束 – 2013-03-15 09:31:45

+0

嘗試過任何東西了嗎? – njzk2 2013-03-15 09:43:40

回答

0

以下面的代碼片段爲例。你將不得不填寫一些空白。

這就是我如何在我的應用程序的Activities之一中顯示ProgressBar。它有一個ListView,你將不得不用你自己的內容來取代它。現在

<LinearLayout 
     android:id="@+id/linlaHeaderProgress" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center" 
     android:orientation="horizontal" 
     android:visibility="gone" > 

     <ProgressBar 
      android:id="@+id/pbHeaderProgress" 
      style="@style/Spinner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="2dp" > 
     </ProgressBar> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:gravity="left|center" 
      android:padding="2dp" 
      android:text="Loading...." 
      android:textSize="20sp" > 
     </TextView> 
    </LinearLayout> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_weight="1" 
     android:cacheColorHint="@android:color/transparent" 
     android:divider="#000000" 
     android:dividerHeight="0dp" 
     android:fadingEdge="none" 
     android:persistentDrawingCache="scrolling" 
     android:scrollbars="none" > 
    </ListView> 

,在Java代碼中,你這個佈局映射到您的Activity,鑄就LinearLayout linlaHeaderProgress。請注意,在XML本身中,android:visibility="gone"屬性設置爲"gone"

@Override 
protected void onPreExecute() { 

    // SHOW THE PROGRESS BAR (SPINNER) WHILE FETCHING POST DETAILS 
    linlaHeaderProgress.setVisibility(View.VISIBLE); 
} 

而且在:

如果您使用的AsyncTask獲取的郵政編碼,然後在過程中doInBackground()發生,由onPreExecute()這樣撥動linlaHeaderProgress的知名度顯示ProgressBaronPostExecute(),再次切換的知名度是這樣的:

@Override 
protected void onPostExecute(Void result) { 

    // HIDE THE PROGRESS BAR (SPINNER) AFTER FETCHING THE POST DETAILS 
    linlaHeaderProgress.setVisibility(View.GONE); 
} 

如果不使用的AsyncTask,但不要做處理在Method,在方法的開始處使用這個:linlaHeaderProgress.setVisibility(View.VISIBLE);.在EditText中顯示郵政編碼後,在方法的最後使用此代碼:linlaHeaderProgress.setVisibility(View.GONE);

我在全球聲明LinearLayout linlaHeaderProgress,所以我可以在需要的地方重複使用它。讓我知道這是否有幫助,或者如果您對我有任何其他問題。

+0

謝謝悉達思我正在嘗試它,並讓你知道如果我遇到任何問題 – 2013-03-15 09:51:40

+0

@ user2163887:當然。慢慢來。 – 2013-03-15 09:55:21

+0

是Siddharth我已經做到了。謝謝幫助我... – 2013-03-15 13:08:55