我真的很固执。我正在尝试做一个简单的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/