リストの代わりにプログレスバーがロードされているときに、 appListView
に追加したいと思います。LinearLayout
これは、アプリを管理できるシステム アプリのようなものです。
私はそれについていくつかの情報を見つけましたが、どれも大丈夫ではありませんでした. onPreExecute()
2 つのレイアウト (1 つはプログレス バー付き、もう 1 つは ListView 付き) を作成し、次に(私はこれに使用しています) にプログレス バーを表示するのが最善と思われるものAsyncTask
です。それをonPostExecute()
隠して、それだけです。
私はそれを実装しようとしていましたが、ScrapView エラーがあり、それを行う方法についての情報はありません。
それで、私の質問は、どのように私にそれを勧めますか? 進行状況ダイアログは必要ありません。
編集:
これは私のコードの断片であり、これまでに行ったことを示しています。
TestActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylist_layout);
wordList = (ListView) findViewById(R.id.wordsList);
//...
}
private class AsyncDBDownload extends AsyncTask<String, Integer, String> {
LinearLayout linlaHeaderProgress = (LinearLayout) findViewById(R.id.linlaHeaderProgress);
@Override
protected String doInBackground(String... params) {
try {
refreshList();//upload of contetn and set of adapter
} catch (Exception ex) {
Log.e(TAG, ex.toString());
}
return null;
}
@Override
protected void onPostExecute(String result) {
linlaHeaderProgress.setVisibility(View.GONE);
wordList.setVisibility(View.VISIBLE);
}
@Override
protected void onPreExecute() {
linlaHeaderProgress.setVisibility(View.VISIBLE);
}
}
private void refreshList() {
//List content download into Cursor - adapterCursor
//...
wordList.setAdapter(adapterCursor);
}
word_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linlaHeaderProgress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone" >
<ProgressBar
android:id="@+id/pbHeaderProgress"
style="@android:style/Widget.ProgressBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ProgressBar>
</LinearLayout>
<ListView
android:id="@+id/wordsList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fastScrollEnabled="true" >
</ListView>
2 つの追加事項:
onResume()
AsyncTask を実行するための呼び出しがあります。mylist_layout.xml
このレイアウトword_list.xml
レイアウトにインクルードするインクルードがあります
他のもの:
- プログレス ダイアログは自分のニーズに合わず、自分の目的に合わないので使いたくありません。これ以上何も宣伝するのではなく、リストを置き換えたいと思います。
- ListFragment はまったく問題ないようですが、私が望むものを達成するための他のより良い、またはより簡単なソリューションがあると思います。
私は Android 2.2/2.3 互換のアプリをやっていますが、言い忘れてandroid.support.v4.app.Fragment
いました。