1

ListViewに表示したいアイテムのリストを返す関数findLocalEvents()があります。次に、リストビューに入力するアクティビティのonCreate()に、次のコードがあります。

    View header = (View) getLayoutInflater().inflate(
            R.layout.list_header_view, null);
    getListView().addHeaderView(header);

    TextView title = (TextView) findViewById(R.id.list_view_name);
    title.setText("Events nearby: ");

    setListAdapter(new ArrayAdapter<String>(this, R.layout.event_list_item,
            findLocalEvents()));

    ListView lv = getListView();
    lv.setTextFilterEnabled(true);

    // LIST ITEM IS CLICKED
    lv.setOnItemClickListener(...)

私がやりたいのは、リストにデータが入力されていることをユーザーに知らせるために何か(「読み込み中」など)を表示し、findLocalEvents()関数の実行が最終的に終了したときにすべての項目を表示することです。ありがとう。

4

1 に答える 1

0

読み込みメッセージを表示するには、ここにスレッドが必要です。次のコードは、次の方法のアイデアを提供します

ProgressDialog dialog = ProgressDialog.show(this, "Validating Postcode/Zipcode", 
                                    "Please wait...!", true);
startThread();

private void startThread() {
        new Thread(new Runnable() {

            public void run() {
                try {
                    ArrayList<t> arr = NetworkCalls.fetchCategoriesByZipCode();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                runOnUiThread(categoriesReturned);
            }                   
        }).start(); 
    }

そして、実行可能で ListView をロードします

private Runnable categoriesReturned = new Runnable() {

        public void run() {
               //load listview
            }
};
于 2012-04-18T14:23:07.053 に答える