Android - 在对MainActivity的回调中设置TextView文本不能按预期工作

时间:2014-12-30 01:04:29

标签: java android android-activity android-fragments fragmentpageradapter

我有一个FragmentPagerAdapter,它按如下方式回调我的MainActivity:

class MyFragmentPagerAdapter extends FragmentPagerAdapter
{
    public void someMethod()
    {
        mMainActivity.setTextViewText("This is a test string");
    }
}

在MainActivity中:

class MainActivity extends Activity
{
    public void setTextViewText(String text)
    {
        mTextView.setText(text);
    }
}

结果是单行文本未包装在TextView中(它被截断)。 TextView的宽度为0dp,并使用其父级的权重作为宽度。令人头疼的是,如果我从MainActivity本身调用setTextViewText(),文本包装就好了。只有当我将其称为回调文本不再包装时才会这样。为什么会这样?附:正如通过记录Thread.currentThread.getId()所证明的那样,这两种方法都在UI线程上完成。

0 个答案:

没有答案