2

スピナーに適用するとperformClick()メソッドに問題が発生しますが、Android4.0.1以降でのみ問題が発生します。2.3バージョンでは問題なく動作します。

  • テストに使用されるデバイス
  • Nexus7タブレットとSamsungAce2。

以下のコードでは、setOnClickListenerではなくsetOnItemSelectedListenerを使用していますが、とにかく2.3バージョンで動作します。

助けてくれてありがとう。

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
  public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
    //do something
    }

  public void onNothingSelected(AdapterView<?> arg0) {
    }
  });
spinner.performClick();
4

1 に答える 1

0

必要ないかもしれませんperformClick()。アクティビティ クラス内で、次のことを試してください。

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  … // other code
  setupSpinner();
}

private void setupSpinner();
  Spinner mySpinner = (Spinner) findViewById(R.id.spinner);
  ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner_array, android.R.layout.simple_spinner_item);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mySpinner.setAdapter(adapter);
        mySpinner.setOnItemSelectedListener(this);
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
  //do your thing
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
  //do your thing
}
于 2013-03-17T15:25:38.463 に答える