无法更改Android TextView的文本

时间:2013-09-12 02:58:41

标签: android textview android-spinner

我正在对我的微调器的onItemSelected函数进行一些测试。我正在做的事情我相信相当简单,我的活动中有一个文本视图,没有起始字符串值(也就是说,textview开始是空白的)。我有两个微调器,并且我将onItemSelected函数设置为检索所选项的String值,并将此值设置为textview中的字符串值,对于任一个微调器。很简单,但是我无法通过显示从任何一个微调器中选择的项来让textView响应,或者更糟糕的是要正确调用onItemSelected函数。这是我的微调器和textview的xml:

<Spinner
    android:id="@+id/iHaveSpinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/haveTextField"
    android:layout_marginTop="16dp" />

<Spinner
    android:id="@+id/iWantSpinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/iWantView"
    android:layout_centerHorizontal="true" />

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/resultView"
        android:layout_below="@+id/iWantSpinner"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="19dp"/>

和活动的onItemSelected函数:

public void onItemSelected(AdapterView<?> spinner, View view, int pos, long id) {
    int ID = spinner.getId();
    TextView result = (TextView) findViewById(R.id.resultView);
    switch(ID)
    {
        case (R.id.iHaveSpinner):
            String string1 = spinner.getItemAtPosition(pos).toString();
            result.setText(string1);
            break;
        case (R.id.iWantSpinner):
            String string2 = spinner.getItemAtPosition(pos).toString();
            result.setText(string2);
            break;
    }

}

我是否错误地执行了onItemSelected功能?是否有textView的任何属性不允许我编辑字符串值?看起来很简单,但看起来我已经卡住了

1 个答案:

答案 0 :(得分:0)

找到它。简单的修复,忘了注册微调器的回调函数。初始化我的微调器/填充微调器项时,我错过了以下两行:

iHaveSpinner.setOnItemSelectedListener(this);
iWantSpinner.setOnItemSelectedListener(this);

DERP