Щоб відкрити Spinner, вам просто потрібно зателефонувати за методом performClick () .
Майте на увазі, що цей метод можна викликати лише з потоку інтерфейсу користувача. Якщо вам потрібно відкрити Spinner з окремого потоку, вам слід створити обробник у потоці інтерфейсу користувача, а потім, з вашого другого потоку, надіслати запущений об'єкт, який викликає performClick (), до обробника.
package com.example.SpinnerDemo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.os.Handler;
public class SpinnerDemo extends Activity {
private Handler h;
private Spinner s;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
h = new Handler();
s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
R.array.planets, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
s.performClick();
new Thread(new Runnable() {
public void run() {
h.postDelayed(new Runnable() {
public void run() {
s.performClick();
}
}, 5000);
}
}).start();
}
}
Ресурси, використані в цьому прикладі, можна знайти тут .