Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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_Spinner - Fatal编程技术网

Android 旋转器启动活动

Android 旋转器启动活动,android,spinner,Android,Spinner,我在从spinner开始活动时遇到问题。当我更改微调器的值时,活动开始,但当我按“上一步”按钮时,我无法返回选择另一个微调器值。它存储我的选择并一次又一次地开始活动,类似于循环 spiner1=(Spinner) findViewById(R.id.spiner1); spiner1.setOnItemSelectedListener(new OnItemSelectedListenerWrapper(new OnItemSelectedListener() { @Overri

我在从spinner开始活动时遇到问题。当我更改微调器的值时,活动开始,但当我按“上一步”按钮时,我无法返回选择另一个微调器值。它存储我的选择并一次又一次地开始活动,类似于循环

spiner1=(Spinner) findViewById(R.id.spiner1);

        spiner1.setOnItemSelectedListener(new OnItemSelectedListenerWrapper(new OnItemSelectedListener() {
@Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {

                String str=spiner1.getSelectedItem().toString();
//              Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();

                if(str.equals("Pravougaonik")) {
                    Intent i=new Intent(Pocetna.this, Pravougaonik.class);
                    startActivity(i);
                }
                if(str.equals("Trougao")) {
                    Intent i=new Intent(Pocetna.this, Trougao.class);
                    startActivity(i);
}
}
@Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
和类别:

public class OnItemSelectedListenerWrapper implements OnItemSelectedListener {

    private int lastPosition;
    private OnItemSelectedListener listener;

    public OnItemSelectedListenerWrapper(OnItemSelectedListener aListener) {
        lastPosition = 0;
        listener = aListener;
    }

    @Override
    public void onItemSelected(AdapterView<?> aParentView, View aView, int aPosition, long anId) {
        if (lastPosition == aPosition) {
            Log.d(getClass().getName(), "Ignoring onItemSelected for same position: " + aPosition);
        } else {
            Log.d(getClass().getName(), "Passing on onItemSelected for different position: " + aPosition);
            listener.onItemSelected(aParentView, aView, aPosition, anId);
        }
        lastPosition = aPosition;
    }

    @Override
    public void onNothingSelected(AdapterView<?> aParentView) {
        listener.onNothingSelected(aParentView);
    }
}

取消选择启动活动的onPause或onResume方法上的微调器值。我有一个问题,请您更具体一点。我在重新启动{spiner1.setSelection0;super.onResume;}时尝试了此公共void。现在,我尝试:@Override public void onResume{super.onResume;spinner1.setSelection0;}。如果我怀疑这不起作用,请尝试将onResume替换为onPause。@AleksandarPanic您不应该从onRestart方法调用super.onResume-通常您希望调用相同的方法名。这很好。我交换了喷丝头1.5次,然后重新开始