/ / .xml とリソースなしで文字列をスピナーに追加する方法 - アンドロイド、スピナー

.xmlとリソースなしでスピナーに文字列を追加する方法 - アンドロイド、スピナー

それは非常に簡単です.私はただ付け加えたいだけです. Strings 〜に Spinner を使用せずに。xml を使用せずに Resources フォルダ。

私は使った onCreateOptionsMenu(Menu menu)、しかし、私は自分の問題に対する解決策を見つけられませんでした。

私は見た Androidのスピナーにアイテムを追加するにはどうすればよいですか?、しかし、私の場合は機能しません...

ここに私のコード:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_bar3, menu);
setTitle("");

String[] arraySpinner = new String[] {
"1", "2", "3", "4", "5"
};
Spinner s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.array.spinner_values);
s.setAdapter(adapter);

return true;
}

注: レイアウトのタイプが必要なため、このコードは実行されませんが、どのレイアウトが必要かわかりません...

回答:

回答№1は1
  1. これに変更する ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arraySpinner);

クラッシュします: java.lang.NullPointerException: 仮想を起動しようとしました メソッド行: s.setAdapter(adapter);

  1. 内部で初期化 onCreate メソッド、内部ではありません onCreateOptionsMenu

     public class SpinnerExample extends Activity {
    
    private String[] arraySpinner;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    this.arraySpinner = new String[] {
    "1", "2", "3", "4", "5"
    };
    Spinner s = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_spinner_item, arraySpinner);
    s.setAdapter(adapter);
    }
    }
    

回答№2の場合は0
String categoryItem1 = "item1";
String categoryItem2 = "item2";
String categoryItem3 = "item3";
List<String> categories = new ArrayList<String>();
categories.add(categoryItem1);
categories.add(categoryItem2);
categories.add(categoryItem3);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity(), R.layout.spinnner_item, categories);
// attaching data adapter to spinner
spinner.setAdapter(dataAdapter);

回答№3の場合は0

次のようなアレイ アダプターを作成できます。

ArrayAdapter aa = new
ArrayAdapter(this, android.R.layout.simple_spinner_item, arraySpinner);