2

カスタム AsyncTask からの次のコードがあります。

    @Override
    public void onPreExecute() {     
        setTitle();
        dialog.show();
    }

    private void setTitle() {
        Activity activity=(Activity)context;
        TextView title=(TextView)activity.findViewById(R.id.textViewToDoListTitle);
        Log.e("title", title.getText().toString());
        title.setText("123");
        Log.e("title", title.getText().toString());
    }

このコードは例外なく動作しますが、setTitle() 関数は TextView タイトルのテキストを更新しません! ログを見ると、setTitle() の最後の行を実行した後、タイトルに "123" が格納されていることがわかります。しかし、値は画面上で更新されません! どうすれば修正できますか?

4

1 に答える 1

1

コンテキストの代わりに TextView への元の参照をアクティビティに渡し、TextView で setText を呼び出すと、機能するはずです ;-)

于 2012-10-15T16:11:36.353 に答える