0

我想在更改时动画文本淡入和淡出我正在扩展TextSwitcher以便定义一次,因为我有很多TextSwitcher对象。

但是,在执行此操作时,我不断获得 Null 指针“java.lang.NullPointerException android.widget.TextSwitcher.setText(TextSwitcher.java:80):

homeTeamTextView.setText("Text");

我决定像这样扩展 TextSwitcher 类:

public class MyTextSwitcher extends TextSwitcher{

public MyTextSwitcher(Context context, AttributeSet attrs)
{
    super(context, attrs);
    // TODO Auto-generated constructor stub

    setInAnimation(context,R.anim.fade_in);
    setOutAnimation(context,R.anim.fade_out);
}}

活动

private MyTextSwitcher homeTeamTextView;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    homeTeamTextView = (MyTextSwitcher) findViewById(R.id.hometeam);
    awayScoreTextView = (TextView) findViewById(R.id.awayteamscore);
    homeScoreTextView = (TextView) findViewById(R.id.hometeamscore);
    gameStatusTextView = (TextView) findViewById(R.id.gamestatus);
    gameClockTextView = (TextView) findViewById(R.id.gameclock);
    gameStartTextView = (TextView) findViewById(R.id.gamestart);
    gameClockSectionTextView = (TextView) findViewById(R.id.gameclocksection);

    LoadDataAsyncTask loadDataTask = new LoadDataAsyncTask();
    loadDataTask.execute();
}

布局:

  <com.MyTextSwitcher
        android:id="@+id/hometeam"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         />
4

1 回答 1

0

看起来 TextSwitcher 是普通的 ViewSwitcher,它只能包含 TextViews。当您调用 setText() 时,它会尝试获取下一个视图。您可以在源代码中找到它:https ://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/widget/TextSwitcher.java ,但它是空的。我认为您必须在 TextSwitcher 中添加 textView (甚至两个 textView 才能正常工作的动画)。

于 2014-04-23T12:21:36.423 回答