在微调器上执行Android performClick()

时间:2013-03-14 12:09:45

标签: android-spinner

在spinner上应用时遇到performClick()方法的问题,但只在android 4.0.1及更高版本上有问题。它在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();

1 个答案:

答案 0 :(得分: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
}