Java 使用旋转器切换活动

Java 使用旋转器切换活动,java,android,spinner,Java,Android,Spinner,我有下面的代码,我需要填写if(pos==1){???????????},以便在选择微调器中的第一个位置时切换活动。我的新活动名为Route1.java。 在微调器中选择位置1时,如何编写代码切换到Route1.java import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.view.Vie

我有下面的代码,我需要填写
if(pos==1){???????????}
,以便在选择微调器中的第一个位置时切换活动。我的新活动名为Route1.java。 在微调器中选择位置1时,如何编写代码切换到Route1.java

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;
import android.Manifest.permission;

public class MyOnItemSelectedListener extends Activity 
        implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent, 
            View view, int pos, long id) {
        if (pos == 1) {
        } else {
            Toast.makeText(parent.getContext(), 
                    "Your route is "
                    + parent.getItemAtPosition(pos).toString(), 
                    Toast.LENGTH_LONG).show();
        }
    }

    public void onNothingSelected(AdapterView parent) {
        // Do nothing.
    }
}
导入android.app.Activity;
导入android.content.Context;
导入android.content.Intent;
导入android.net.Uri;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemSelectedListener;
导入android.widget.Toast;
导入android.Manifest.permission;
公共类MyOnItemSelectedListener扩展活动
实现MSelectedListener{
已选择公共无效项(AdapterView父项,
视图,内部位置,长id){
如果(位置==1){
}否则{
Toast.makeText(parent.getContext(),
“你的路线是”
+parent.getItemAtPosition(pos.toString(),
Toast.LENGTH_LONG).show();
}
}
未选择公共无效(AdapterView父级){
//什么也不做。
}
}
上面的类在这个类中使用

import java.lang.reflect.Array;
import android.R.array;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;

import android.widget.AbsSpinner;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;


public class cnycentro extends Activity {        

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cnycentro);

        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.routes, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

        spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
    }
}
import java.lang.reflect.Array;
导入android.R.array;
导入android.app.Activity;
导入android.content.Context;
导入android.content.Intent;
导入android.net.Uri;
导入android.os.Bundle;
导入android.view.view;
导入android.webkit.WebView;
导入android.widget.AbsSpinner;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemSelectedListener;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.Spinner;
导入android.widget.Toast;
公共类cnycentro扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.cnycentro);
微调器微调器=(微调器)findViewById(R.id.Spinner);
ArrayAdapter=ArrayAdapter.createFromResource(
这个,R.array.routes,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
spinner.setOnItemSelectedListener(新的MyOnItemSelectedListener());
}
}

你应该仔细阅读意图以及更明确的意图

为了明确启动新活动(如您创建的活动),语法如下:

Intent newActivity = new Intent(this, Route1.class);
startActivity(newActivity);
还要确保将新活动添加到android清单中:

<activity android:name=".Route1"></activity> 
如果您的活动或侦听器太大,并且内联编写会降低可读性,则可以这样编写

  • MyOnItemSelectedListener()不需要是一个单独的类,而且它绝对不应该从活动继承
  • 将代码更改为以下内容:

    OnItemSelectedListener listener = new OnItemSelectedListener(){
    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
            int position, long id) {
        //do you really want 1 here or 0?
        if (position == 1) {
            view.getContext().startActivity(new Intent(view.getContext().getApplicationContext(),Route1.class));
        }else{
            Toast.makeText(parent.getContext(), "Your route is " +
                      parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show();
    
        }
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
    
    }
    };
    spinner.setOnItemSelectedListener(listener);
    
    OnItemSelectedListener=新建OnItemSelectedListener(){
    @凌驾
    已选择公共视图(AdapterView父视图、视图、,
    内部位置,长id){
    //您真的想要1还是0?
    如果(位置==1){
    view.getContext().startActivity(新意图(view.getContext().getApplicationContext(),Route1.class));
    }否则{
    Toast.makeText(parent.getContext(),“您的路线是”+
    parent.getItemAtPosition(position.toString(),Toast.LENGTH_LONG.show();
    }
    }
    @凌驾
    未选择公共无效(AdapterView arg0){
    //TODO自动生成的方法存根
    }
    };
    spinner.setOnItemSelectedListener(listener);
    
  • OnItemSelectedListener listener = new OnItemSelectedListener(){
    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
            int position, long id) {
        //do you really want 1 here or 0?
        if (position == 1) {
            view.getContext().startActivity(new Intent(view.getContext().getApplicationContext(),Route1.class));
        }else{
            Toast.makeText(parent.getContext(), "Your route is " +
                      parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show();
    
        }
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
    
    }
    };
    spinner.setOnItemSelectedListener(listener);