は私がName.javaに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) {
}
});
}
}
問題点は何ですか? –
このコードではスピナーに値が表示されません。 –
文字列の代わりにスピナーに表示される値のタイプとして "名前"を使用していたと思います。 –