0

だからここにそれがどのようにあるかです:

TimerTaskを持つAsyncTaskがあります。15秒ごとにAsyncTaskが実行されます。AsyncTaskはXMLデータを取得し、動的に作成されたTableRowに含まれる動的に作成されたTextViewにそれらを配置します。

onPostExecuteすべてのtableRowとTextViewを作成してから、更新する代わりにそれらをdoubleにしないために、tableRowビューを削除します。

protected void onPostExecute(Document result)
{
if(TableLayout.getChildAt(1) == null)
{
    //All my code to show tableRow and TextView
else
{
    int u = 20;
    while(tl.getChildAt(1) != null)
    {
        if(tl.getChildAt(u) != null)
            tl.removeViewAt(u);
        u--;
    }
}

そうそう、すべてがうまく機能します。timerTaskをxミリ秒待つのではなく、TimerTaskにすぐに再起動するように依頼する方法があるかどうかを知りたいので、もう一度やり直してください。

ご協力いただきありがとうございます!

4

1 に答える 1

0

そうそう、私はこれを行う方法を見つけました。他の誰かがそのようなことをしたい場合に備えて投稿します。

protected void onPostExecute(Document result)
    {

        if(tl.getChildAt(1) == null)
        {
            //do some code              
        }
        else
        {
            int u = 20;
            while(tl.getChildAt(1) != null)
            {
                if(tl.getChildAt(u) != null)
                    tl.removeViewAt(u);
                u--;
                }
                //do same code over again as above.

                }
            }
        }

これにより、tableRowsが削除され、新しいものが再作成されるため、それらが「更新」されます。

于 2012-06-07T19:03:03.757 に答える