Java 将文本视图文本设置为微调器选定项
如何将TextView的文本设置为微调器的选定文本?下面是我代码的相关部分。现在,我从微调器中选择了一个项目,但TextView文本没有改变Java 将文本视图文本设置为微调器选定项,java,android,eclipse,spinner,Java,Android,Eclipse,Spinner,如何将TextView的文本设置为微调器的选定文本?下面是我代码的相关部分。现在,我从微调器中选择了一个项目,但TextView文本没有改变 public void onCreate(etc, etc... { Spinner spinner = (Spinner)findViewById(R.id.mySpinner); List<String> myList = myClass.myList(); ArrayAdapter<String> myAdapt
public void onCreate(etc, etc...
{
Spinner spinner = (Spinner)findViewById(R.id.mySpinner);
List<String> myList = myClass.myList();
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, myList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(myAdapter);
SpinnerListener(spinner);
// Here I try to set the TextView text to the Spinner's selected text, but it doesn't work (the text doesn't change):
TextView tv= (TextView)findViewById(R.id.myTextView);
tv.setText(spinner.getSelectedItem().toString());
}
您应该将tv.setTextspinner.getSelectedItem.toString移动;已选择从onCreate到public void。。。得到这样的东西:
tv.setTextparent.getItemAtPositionpos.toString。
看看它是否有效
问题是,如果将代码放在onCreate上,它只会在第一次创建活动/片段时被调用,因此,如果用户在微调器上选择一个项目,它永远不会改变。使用此示例
public class MainActivity extends Activity {
String[] text1 = { "SUNDAY", "MONDAY", "TUESDAY",
"WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" };
int[] val1 = { 0, 1, 2, 3, 4, 5, 6};
Spinner spinner1;
TextView textView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView1 = (TextView)findViewById(R.id.text1);
spinner1 = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<String> adapter1 =
new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_spinner_item, text1);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);
spinner1.setOnItemSelectedListener(onItemSelectedListener1);
}
OnItemSelectedListener onItemSelectedListener1 =
new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String s1 = String.valueOf(val1[position]);
textView1.setText(s1);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
};
}
XML代码
<Spinner
android:id="@+id/spinner1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
它将起作用将文本视图文本设置为微调选定项 微调器xyzSPN=Spinnerview.findviewbydr.id.spn\u xyz\u spn; TextView xyzTV=Spinnerview.findviewbydr.id.spn_xyz_tv //在微调器上设置listner并获取选定文本 xyzSPN.SetOnItemSelectedListener新建AdapterView.OnItemSelectedListener{ @凌驾 public void onItemSelectedAdapterView父视图、视图SelectedEdItemView、整型位置、长id{
xyzTV.setText(xyzSPN.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
}
我已经在我的活动中实现了implements AdapterView.OnItemSelectedListener,但方法onItemSelected仍然没有填充到微调器中选择项的文本视图中。
TextView spinget= (TextView) findViewById(R.id.spinget);
Spinner destspin1= (Spinner) findViewById(R.id.destspin);
destspin1.setOnItemSelectedListener(this);
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String s=destspin1.getSelectedItem().toString();
spinget.setText(s);
}
xyzTV.setText(xyzSPN.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
}