2013-03-15 79 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