我正在对我的微调器的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的任何属性不允许我编辑字符串值?看起来很简单,但看起来我已经卡住了
答案 0 :(得分:0)
找到它。简单的修复,忘了注册微调器的回调函数。初始化我的微调器/填充微调器项时,我错过了以下两行:
iHaveSpinner.setOnItemSelectedListener(this);
iWantSpinner.setOnItemSelectedListener(this);
DERP