【发布时间】:2017-01-15 02:29:24
【问题描述】:
我想将 MainActivity.java 中的值传递给 Name.java 并访问 Name.java 中的值并希望在微调器中显示它。
我该怎么做呢?并且还想在从微调器中选择值时为名称敬酒。请帮助我。
提前致谢。
Name.Java
public class Name {
private String name;
public Name(){
}
public Name(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
MainActivity.Java
public class MainActivity extends AppCompatActivity {
ArrayList<Name> names = new ArrayList<>();
Name name = new Name();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
names = new ArrayList<>();
Name name = new Name();
name.setName("dog");
name.setName("cat");
name.setName("cow");
names.add(name);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(new ArrayAdapter<Name>(this, android.R.layout.simple_spinner_dropdown_item, names));
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Name value = (Name) parent.getItemAtPosition(position);
Toast.makeText(MainActivity.this, "value is "+value, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
【问题讨论】:
-
你有什么问题?
-
此代码在微调器中不显示任何值..
-
我猜那是因为您使用“名称”作为应该在微调器中显示的值类型,而不是字符串
-
在您的 Toast 消息中这样使用
"value is " + value.getName() -
但是“狗”、“猫”、“牛”这在微调器中没有显示