2013-12-14 57 views
-1

我對Android應用程序非常陌生。設置Android微調器導航到另一個頁面

我有一個微調設置,會有很多不同的選項。

你能幫我嗎?

我需要用每個不同的微調器選項打開一個新頁面。

我該怎麼做?

代碼:

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="top" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="30dp" 
    android:entries="@array/model_numbers" 
    android:prompt="@string/model_spinner" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:text="Please select model number below:" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:text="[email protected]" 
    android:textAppearance="?android:attr/textAppearanceSmall" /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/textView2" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="5dp" 
    android:text="Version 1.0" 
    android:textAppearance="?android:attr/textAppearanceSmall" /> 

</RelativeLayout> 

MainActivity.java

package com.example.capitaokipartslist; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 

public class MainActivity extends Activity { 

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


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 

的strings.xml

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

<string name="app_name">Capita Oki Parts List</string> 
<string name="action_settings">Settings</string> 
<string name="model_number">Please select your model number:</string> 
<string name="model_spinner">Please select your model number:</string> 
<string-array name="model_numbers"> 
    <item >C711</item> 
    <item >ES7411</item> 
</string-array> 

</resources> 

在此先感謝您提供的任何幫助!

回答

1

請去把這些教程

http://www.mkyong.com/android/android-spinner-drop-down-list-example/

http://androidexample.com/Spinner_Basics_-_Android_Example/index.php?view=article_discription&aid=82&aaid=105

http://androidituts.com/android-spinner-tutorial/

裏面你onItemSelected方法傳遞意圖

Intent i=new Intent(CurrentActivity.this,Myclass.class); 
startActivity(i); 

UPDATE

當您要求進行不同的活動時,您可以使用if或switch來應用條件並相應地移動。

例如: -

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) { 
Toast.makeText(parent.getContext(), 
    "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(), 
    Toast.LENGTH_SHORT).show(); 
switch(pos) 
       { 
        case 0: 
         Intent i=new Intent(CurrentActivity.this,Myclass1.class); 
    startActivity(i); 
         break; 
        case 1: 
         Intent i=new Intent(CurrentActivity.this,Myclass2.class); 
    startActivity(i); 
       } 

    } 

這裏CurrentActivity是要導航和MyClass1的和Myclass2是你的,你想要去那個類您當前的活動名稱。

有另一種方法whivh可以幫助你這樣的:

parent.getItemAtPosition(pos).toString() 
+0

這些教程僅顯示屏幕上的選擇 - 那麼如何更改它以便打開一個新頁面?感謝您的幫助 –

+0

您是否在這些教程中找到了onItemSelected方法。 Toast方法被寫入打印信息。如果你不想烤麪包,只是刪除它,並使用上面粘貼的兩行代碼。 –

+0

謝謝你會試試看! –

0

你必須做的東西沿着這些路線,在onCreate方法;

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

     final String [] array = getResources().getStringArray(R.array.model_numbers); 
     spin = (Spinner) findViewById(R.id.spinner); 
     spin.setAdapter(new ArrayAdapter<String>(MainActivity.this, R.layout.a_layout, array)); 
     spin.setOnItemSelectedListener(new OnItemSelectedListener() 
     { 
      @Override 
      public void onItemSelected(AdapterView<?> arg0, View view, int position, long id) 
      { 
       switch(position) 
       { 
        case 0: 
         startActivity(new Intent(MainActivity.this, NewClass.class)); 
         break; 
        case 1: 
         startActivity(new Intent(MainActivity.this, OtherClass.class)); 
         break; 
       } 
      } 

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

      } 
     }); 
    } 
+0

我將此代碼添加到哪個文件?在MainActivity中的 –

+0

,onCreate方法,在setContentView()之後。 –

+0

@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }有些地方在這裏? –

相關問題