私はアンドロイドスピナーを作成しています。これは正しく表示されていますが、オプションの選択時に何も起こりません。なぜ 'if'コマンドが機能しないのですか?アンドロイドスピナーからテキストを取り戻すには?
public class Main2Activity extends AppCompatActivity {
Spinner spinner;
ArrayAdapter<CharSequence> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
spinner= (Spinner) findViewById(R.id.spinner);
adapter=ArrayAdapter.createFromResource(this,R.array.spinner,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {//why 'if' command is not working?
if(adapterView.getItemAtPosition(i).toString().equals("Question 1"))
{
Intent intent=new Intent(Main2Activity.this,Main2Activity.class);
}
if(adapterView.getItemAtPosition(i).toString().equals("Question 2"))
{
Intent intent=new Intent(Main2Activity.this,main3Activity.class);
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});`
'adapterView.getItemAtPosition(i)'が返すものを確認するためにデバッグを試みましたか? 'adapter.get(i).toString()。equals(" Question 1 ")'を使用する方がより明確になります。質問の1の場合は 'if(i == 0)'、質問2の場合は 'if(i == 1)'となります。 –