Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 选择项目后,如何关闭/取消/关闭微调器?_Android - Fatal编程技术网

Android 选择项目后,如何关闭/取消/关闭微调器?

Android 选择项目后,如何关闭/取消/关闭微调器?,android,Android,当我选择一个选项时,它会打开一个活动,但当我完成该活动并返回微调器活动时,微调器仍然打开 我如何在选择一个项目后立即取消它 sp.setOnItemSelectedListener(new OnItemSelectedListener() { boolean firstPop =true; @Override public void onItemSelected(AdapterView<?> arg0, View

当我选择一个选项时,它会打开一个活动,但当我完成该活动并返回微调器活动时,微调器仍然打开

我如何在选择一个项目后立即取消它

sp.setOnItemSelectedListener(new OnItemSelectedListener() {
            boolean firstPop =true;
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int pos, long arg3) {
                if (!firstPop) {

                    doMyLogic();
                    sp.????
                }
                firstPop = false;

            }
sp.setOnItemSelectedListener(新的OnItemSelectedListener(){
布尔值firstPop=true;
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
内部位置,长arg3){
如果(!firstPop){
域能();
服务提供商。????
}
firstPop=false;
}
编辑完整代码

public void showDropDownDialogue() {

        String[] s = getResources().getStringArray(R.array.cities);
        final ArrayAdapter<String> adp = new ArrayAdapter<String>(
                MainActivity.this, android.R.layout.simple_spinner_item, s);

        final Spinner sp = new Spinner(MainActivity.this);
        sp.setPadding(5, 5, 5, 5);
        sp.setLayoutParams(new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        sp.setAdapter(adp);


        sp.setOnItemSelectedListener(new OnItemSelectedListener() {
            boolean firstPop =true;

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int pos, long arg3) {
                if (!firstPop) {
                    editor.putInt("city_id", pos);
                    editor.commit();
                    Intent stationsIntent = new Intent(MainActivity.this,
                    StationsActivity.class);
                    startActivity(stationsIntent);


                }
                firstPop = false;

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setView(sp);
        builder.create().show();

    }
public void showDropDownDialogue(){
字符串[]s=getResources().getStringArray(R.array.cities);
最终阵列适配器adp=新阵列适配器(
MainActivity.this,android.R.layout.simple\u微调器\u项目,s);
最终微调器sp=新微调器(MainActivity.this);
sp.setPadding(5,5,5,5);
sp.setLayoutParams(新的LinearLayout.LayoutParams(
LayoutParams.WRAP_内容,LayoutParams.WRAP_内容);
sp.setAdapter(adp);
sp.setOnItemSelectedListener(新的OnItemSelectedListener(){
布尔值firstPop=true;
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
内部位置,长arg3){
如果(!firstPop){
编辑:putInt(“城市id”,pos);
commit();
意向站意向=新意向(MainActivity.this,
StationsActivity.class);
startActivity(stationsIntent);
}
firstPop=false;
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
AlertDialog.Builder=新建AlertDialog.Builder(MainActivity.this);
builder.setView(sp);
builder.create().show();
}

如果要实现OnItemSelectedListener并重写onItemSelected方法,请获取spinner的选定事件,它将关闭,无需通过编程方式关闭


您不必担心,它会自动关闭。

如果要实现OnItemSelectedListener并重写onItemSelected方法,请获取spinner的选定事件,它会关闭,您不需要以编程方式关闭


您不必担心,它会自动关闭。

需要关闭的是对话框,而不是微调器。因此,将AlertDialog声明为字段

和更改对话框显示如下

builder.setView(sp);
dialog = builder.create();
dialog.show();
和在选定的add中

dialog.dismiss();

需要关闭的是对话框,而不是微调器。因此将AlertDialog声明为字段

和更改对话框显示如下

builder.setView(sp);
dialog = builder.create();
dialog.show();
和在选定的add中

dialog.dismiss();

这很奇怪,请发布更多的代码,因为它应该自动关闭。@sam将完整代码添加到questionOk,这现在有意义了。nandeesh已经发布了最佳答案。这很奇怪,请发布更多代码,因为它应该自动关闭。@sam将完整代码添加到questionOk,这现在有意义了。nandeesh已经发布了bes我不回答。