在Spinner上选择Item

时间:2016-02-02 13:26:28

标签: java android

我想寻求帮助。

我已经在Android Studio中创建了一系列活动。 每个活动都包含一个特定项目。这些项目是我们大学的不同“部门”。

示例:

  

活动1 =计算机学院;

     

活动2 =教师教育学院;

     

活动3 =工程学院。

My Spinner包含部门。

我的问题是,如果我在Spinner中选择“计算机科学学院”并单击“发送”按钮,我希望显示活动1。

你能帮我解决这个问题吗?

** activity_main.xml中的Spinner

<Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/spin"
        android:entries="@array/punpDepartments"
        android:layout_gravity="center_vertical">
    </Spinner>

**这些是strings.xml中的项目

<string-array name="punpDepartments">
        <item>College of Computer Studies</item>
        <item>College of Business Education</item>
        <item>College of Criminal Justice Education</item>
        <item>College of Marine Education</item>
        <item>College of Nursing</item>
        <item>College of Pharmacy</item>
        <item>College of Education</item>

**我在MainActivity.java的Intent中的代码

public class MainActivity extends ActionBarActivity {
    private static Button button_send;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        OnClickButtonListener();
    }
    public void OnClickButtonListener(){
        button_send = (Button) findViewById(R.id.button);
        button_send.setOnClickListener(
                new View.OnClickListener(){
        @Override
                public void onClick(View v){
            Intent intent = new Intent("com.example.imelda.mythesis.ListActivity");
            startActivity(intent);

        }
        }
        );

    }

**在ListActivity.java中扩展

public class ListActivity extends ActionBarActivity {
    private static Button button_next;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list);
    OnClickButtonListener();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_list, menu);
    return true;
}
public void OnClickButtonListener() {
    button_next = (Button) findViewById(R.id.button4);
    button_next.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent("com.example.imelda.mythesis.SecondList");
                    startActivity(intent);

                }
            }
    );
}

**我还在AndroidManifest.xml中添加了这个输入代码

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.imelda.mythesis" >
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >

 <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />  
                    <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ListActivity"
            android:label="@string/title_activity_list" >
            <intent-filter>
                <action android:name="com.example.imelda.mythesis.ListActivity" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

1 个答案:

答案 0 :(得分:0)

首先让你的微调器在主类中像这样

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

现在在点击方法中执行此操作

    int position =spin.getSelectedItemPosition();
    //change the activities with yours
    switch (position){

        case 0: intent.setClass(Activity1.class,MainActivity.this);
            break;
        case 1: intent.setClass(Activity2.class,MainActivity.this);
            break;
        case 2: intent.setClass(Activity3.class,MainActivity.this);
            break;
        case 3: intent.setClass(Activity4.class,MainActivity.this);
            break;
        case 4: intent.setClass(Activity5.class,MainActivity.this);
            break;
    }
    startActivity(intent);