微调器performclick()无法正常工作 [英] Spinner performclick() not working

查看:64
本文介绍了微调器performclick()无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在运行活动时自动打开微调框,所以我正在使用performClick()方法,但是它显示此错误:

I want the spinner to open up by itself when I run the activity, so I'm using the performClick() method but it's showing this error:

起因:android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?

我该怎么办? 这是我的代码

What should I do? Here is my code

public class FacilityComplaint extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
    private Spinner spinner1;

    private static final String[] suggestions = {"Select from suggestions", "Switch not working",
            "Switch faulty", "Switch light not working", "Switch handle faulty"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_facility_complaint);

        spinner1 = (Spinner) findViewById(R.id.spinner1);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(FacilityComplaint.this,
                android.R.layout.simple_spinner_item, suggestions);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner1.setAdapter(adapter);
        spinner1.setOnItemSelectedListener(this);
        spinner1.performClick();
    }


    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {

        switch (position) {
            case 0:
                //do something
                break;

            case 1:
                //do something
                break;

            case 2:
                //do something
                break;

            case 3:
                //do something
                break;

            case 4:
                //do something
                break;
        }
    }

    public void onNothingSelected(AdapterView<?> parent) {

    }

}

推荐答案

对于微调器,您无需实现"AdapterView.OnItemSelectedListener"这样的创建.

For spinner you have don't need to implement "AdapterView.OnItemSelectedListener" Create like this .

spinner1 = (Spinner) findViewById(R.id. spinner1);
    ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
            suggestions, android.R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(
            android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter);
    spinner1.performClick();

//获取选择索引或建议

// Get selecte index or Suggestions

spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view,
            int pos, long id) {
        String selectedSugg = suggestions[pos];
        Log.d("Suggestions ", selectedSugg);
    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0) {

    }
});

这篇关于微调器performclick()无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆