0

スピナー メニューで選択したオプションを、id が 'spinnertxt' のテキストビューに表示したいと考えています。

スピナー メニューを開いてオプションを選択できますが、その後何も起こりません。

コードは次のとおりです。

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu; 
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

 public class Addproject extends Activity implements OnItemSelectedListener {

protected int mPos;
protected String mSelection;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_addproject);

    Spinner spinner = (Spinner) findViewById(R.id.difficultyspinner); ArrayAdapter<CharSequence> 
    adapter = ArrayAdapter.createFromResource(this,R.array.difficultyarray, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_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.activity_addproject, menu);
    return true;
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) {
    // TODO Auto-generated method stub

    Addproject.this.mPos = pos;
    Addproject.this.mSelection = parent.getItemAtPosition(pos).toString();

    TextView spinnerresult = (TextView)findViewById(R.id.spinnertxt);
    spinnerresult.setText(Addproject.this.mSelection);

}

@Override
public void onNothingSelected(AdapterView<?> parent) {
    // TODO Auto-generated method stub

    //NOTHING TO LOOK HERE, MOVE ALONG

}

  }

誰かが理由を教えてもらえますか? 私はこれが初めてです。

4

2 に答える 2

0

配列をインスタンス化して使用する

Addproject.this.mSelection = array[pos];

それ以外の

Addproject.this.mSelection = parent.getItemAtPosition(pos).toString();
于 2012-12-23T17:02:08.070 に答える
0

解決しました!

リスナーがありませんでした。

ちょうど追加しました

spinner.setOnItemSelectedListener(this);

onCreate()後にsetAdapater()

リスナーは、アプリケーションが特定のアイテムのタップをリッスンするために必要です。

于 2012-12-23T19:43:42.820 に答える