我真的很固执。我正在尝试做一个简单的textswitcher,它将增加数量并根据数量更新价格。现在在我的xml中,我在TextSwitcher中有一个类似TextView的东西,只是为了增加数量。我得到了findViewById(R.id.quantity)的textview。

所以这是我必须找到的设置增量数量的方法(我正在实现ViewFactory)

switcher = (TextSwitcher) findViewById(R.id.switcher);
switcher.setFactory(this);
quantity = (TextView) findViewById(R.id.quantity);

我也重写了makeView()
@Override
     public View makeView() {
        return quantity;
    }

同样,当按下增加按钮时,我使计数器增加,并将切换台上的文本设置为当前计数。像这样:
switcher.setText(String.valueOf(currentQuantity));

有人可以让我知道我在做什么错吗?我一直在这一行得到我的空指针:
switcher.setFactory(this);

这是XML代码段:
<TextSwitcher android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/switcher">
            <TextView android:text="TextView" android:id="@+id/quantity" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
        </TextSwitcher>

最佳答案

Documentation for TextSwitcher:



这意味着您将至少需要两个文本 View ,一个包含旧文本,另一个用于接收新文本并进行动画处理。
以下XML应该可以工作:

    <TextSwitcher
        android:id="@+id/counter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </TextSwitcher>

关于android - TextSwitcher NullPointer错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6349052/

10-10 17:13