2016-09-29 12 views
2

リストから項目を選択するたびに別のテキスト表示を表示するスピナーを作成しようとしています。コードを実行すると、別の項目を切り替えることができますが、選択内容に基づいてテキストが更新されていません。私は同様の質問の様々な見ているが、彼らの解決のどれも私が探しているものを行っていない。ここでスピナーにテキストビューを表示する方法

が主な活動からの私のコードです:

Spinner spinner; 
TextView example; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    example = (TextView) findViewById(R.id.example); 
    spinner = (Spinner) findViewById(R.id.spinner); 

    ArrayAdapter adapter=ArrayAdapter.createFromResource(this, R.array.medication_array,android.R.layout.simple_spinner_item); 
    spinner.setAdapter(adapter); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 


@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

      switch(position) 
      { 
       case 0: 
        example.setText("Depression"); 
        break; 
       case 1: 
        example.setText(R.string.ssriexample); 
        break; 
       case 2: 
        example.setText(R.string.snriexample); 
        break; 
       case 3: 
        example.setText(R.string.tcaexample); 
        break; 
       case 4: 
        example.setText(R.string.moiexample); 
        break; 
       case 5: 
        example.setText(R.string.otherexample); 
        break; 

      } 

} 

@Override 
public void onNothingSelected(AdapterView<?> parent) { 

} 

}

これはAndroidのスタジオで私の最初の時間符号化であるとして任意のヒントがapprieatedされるだろうし、それを得るために少し時間を取っています慣れている。

+0

正しい方法は、スピナーにXMLファイルを入力することです。次に、文字列の値がそこに保持され、選択したインデックスを使用してアクセスできます。 – durbnpoisn

+0

にspinner.setOnItemSelectedListener(this)を追加しました。あなたのコードで? – Exigente05

答えて

0

あなたのコードが投稿された方法から、リスナーがスピナーに接続されていないようです。 spinner.setOnItemSelectedListener(new listener)またはspinner.setOnItemSelectedListener(this)

+0

それでした!どうもありがとうございます! –

関連する問題