0

バグなどの可能性があるため、解決できない問題が少しあります。androidplotでグラフを作成したいのですが、非常にうまく機能しますが、もちろん(数百のデータを使用して)描画するのに時間がかかるため、進行状況ダイアログを使用して読み込みを示します。しかし、何が起こるかは本当に奇妙です。ロード時とロード時のアクティビティの外観を定義できます。ロードするとき、テキストを「ロード中」に設定するバックグラウンドでテキストビューを定義します。ロードされる場合、そのテキストビューには多くのデータやテキストなどが含まれます。

onCreate
{



        Thread thread = new Thread(new Runnable() {  
               public void run() {

-------what needs to be appeared after its loaded ----
Textview -> 12,3245,456,78,789

}

----what is on the screen while the progressbar is on---
TextView -> loading..
}

ただし、進行状況ダイアログが消えた後のほとんどの場合、何も起こりません。テキストビューには「読み込み中」と表示され、データが読み込まれてデータが表示され、テキストビューが変更されることはめったにありません。私が気付いたのは、表示したいデータが多いほど、ロードフェーズにとどまることが少なくなることです。もちろん、ロード中のprogessbarappeersが消えるたびに。なにか提案を?私はタブレイアウトでそれを使用し、他のタブはこれを決して行わず、常にデータを表示させるので、それは本当に奇妙です。

前もって感謝します!

UP:わかりました。含まれているものが何であれ、常に最初のタブなので、最初のタブはどういうわけか間違っています...

4

2 に答える 2

1
The Andoid UI toolkit is not thread-safe. So, you must not manipulate your UI 
from a worker thread—you must do all manipulation to your user interface from
the UI thread. Thus, there are simply two rules to Android's single thread model:

1. Do not block the UI thread
2. Do not access the Android UI toolkit from outside the UI thread 

外部からUI要素にアクセスする方法の詳細については、これをお読みください。
編集::

AsyncTaskを使用します::

onCreate
{

     new myLoading().execute();    
}

class myLoading extends AsyncTask<Void, Void, Void>
{
     protected Void doInBackground(Void ... ) {
      .......... do all the loading here .........
     }
     protected void onPostExecute(Void ) {
        Textview -> 12,3245,456,78,789
     }
}
于 2012-06-02T17:48:05.533 に答える
0

私はいくつかの回避策を見つけました。私は解決策について何の手がかりも持っていません、私の唯一の推測はロード画面がどういうわけかすべてのデータの到着を追い越しているので、チャートを描くことができません。または何でも...私はthread.sleep(1000)を置き、今それは動作します。

于 2012-06-02T21:25:31.043 に答える