2

我想将当前显示的字符串从TextSwitcher(字符串放在一个字符串数组中)放到另一个字符串数组中,我不知道我应该使用哪种方法,因为它.getText不适用于 textSwitcher。

如何在此 Activity 字符串数组中加载和添加现有但未使用的字符串?

我在网上找到了这个方法,为什么它不起作用?

Resources res = getResources();
String[] favorites = res.getStringArray(R.array.favorites);
String[] planets = res.getStringArray(R.array.planets_array);
String[] temp = new String[favorites.length+1];
System.arraycopy(favorites,0,temp,0,favorites.length);
temp[favorites.length] = planets[mCounter];
favorites = temp;
4

2 回答 2

3

TextSwitcher被实现为具有两个TextViews. 当您调用TextSwitcher.setText()时,它将调用TextView.setText()未显示的 TextView,然后使用可选动画在它们之间切换。

尽管 TextSwitcher 没有公开getText()方法,但可以检索当前显示的TextView子项,然后调用getText()它以获取显示的文本:

TextSwitcher textSwitcher = findViewById(...);
TextView currentlyShownTextView = (TextView) textSwitcher.getCurrentView();
String currentlyShownText = textSwitcher.getText().toString();
于 2012-08-04T01:36:34.557 回答
0

TextSwitcher没有提供getText方法。所以每次调用时都必须记住私有字段中的当前字符串setText

class MyActivity extends Activity {
    String currentlyDisplayedText;
    String[] yourArray = new String[5];

    public void someMethod() {
        currentlyDisplayedText = "The new text";
        theTextSwitcher.setText(currentlyDisplayedText);
    }

    public void someOtherMethod() {
        yourArray[0] = currentlyDisplayedText;
    }
}
于 2012-08-03T22:18:32.510 回答