2

当应用于微调器但仅在 android 4.0.1 及更高版本上时,我遇到了 performClick() 方法的问题。它在 2.3 版本上运行良好。

  • 用于测试的设备
  • Nexus 7 平板电脑和三星 Ace 2。

在下面的代码中,我使用 setOnItemSelectedListener 而不是 setOnClickListener 但无论如何它适用于 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 回答