는 I은 Name.java로부터 MainActivity.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) {
}
});
}
}
문제점은 무엇입니까? –
이 코드는 스피너에 아무 값도 표시하지 않습니다 .. –
문자열 대신 회 전자에 표시해야하는 값의 유형으로 "이름"을 사용했기 때문에 내 생각 인 것 같습니다 –