1

何が問題なのか本当に理解できません。

これは非常によく走っています。

super.onCreate(savedInstanceState);
setContentView(R.layout.select);

Resources r = getResources();
values = r.getStringArray(R.array.values);

sSelect = (Spinner) findViewById(R.id.sSelect);
tvSelect = (TextView) findViewById(R.id.tvSelect);

しかし、これは機能していません。

super.onCreate(savedInstanceState);
setContentView(R.layout.select);

Resources r = getResources();
values = r.getStringArray(R.array.values);

sSelect = (Spinner) findViewById(R.id.sSelect);
tvSelect = (TextView) findViewById(R.id.tvSelect);

sSelect.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub
    }
});

何が問題なのか本当に知りたいです。また、何が問題なのかをどのように知ることができますか? Androidプログラミングにエラー報告はありませんか?

編集: setOnItemClickListener はスピナーでは使用できません スピナーで使用できるリスナーはどれですか? アプリの起動時に実行されるため、onItemSelectedListenerを使用したくありません。

4

2 に答える 2

4

onItemSelectedListenerスピナーには を使用する必要があります。次に、item[0]値を「未選択」などとして使用します。ダイアログを呼び出したい場合は、次のように記述します。

     if(item[position] > 0)
      {
       //start dialog
      }
于 2013-09-28T16:44:39.580 に答える
1

推測ですが、sSelectリソース名にタイプミスがあり、NullPointerException呼び出し時にsetOnItemClickListener.

レイアウトに名前がSpinner付けられていることを再確認sSelectしてください。select

編集

の正しいリスナーはSpinner.-

AdapterView.OnItemSelectedListener

sSelect.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, android.view.View v, int position, long id) {
    }

    public void onNothingSelected(AdapterView<?> parent) {
}
});
于 2013-09-28T16:26:40.050 に答える