2013-06-21 51 views
0

我有一个微调器,可以在自动选择活动时启动活动。如何提交提交按钮,以便用户可以先选择他们想要启动的活动,然后点击提交以转到选定的屏幕?这是我目前有:使用“提交”按钮使用微调器启动新活动

private Spinner spinner; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    Log.d("TEST", "this is a test"); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    spinner = (Spinner) findViewById(R.id.spinner1); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.entries, 
      android.R.layout.simple_spinner_dropdown_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    spinner.setOnItemSelectedListener(new function()); 

} 


public class function implements OnItemSelectedListener { 

    @Override 
    public void onItemSelected(AdapterView<?> parent, View arg1, int pos, 
      long id) { 
     String selection = ((TextView)arg1).getText().toString(); 
     if (selection.equals("Red Screen")){ 
      Intent intent = new Intent(arg1.getContext(), DisplayMessageActivity.class); 
      startActivity(intent); 
     }else if(selection.equals("Math Screen")){ 
      Intent intent = new Intent(arg1.getContext(), Numbers.class); 
      startActivity(intent); 
     }else{ 
      Intent intent = new Intent(arg1.getContext(), Face.class); 
      startActivity(intent); 
     } 
+0

Java具有命名约定。请从'function'将clase重命名为'Function' – user902691

+0

@ user902691函数甚至不是一个非常具有描述性的类名,更不用说误导了。 –

回答

1

试试这个:

private Class activityToOpen; 

private Spinner spinner; 
private Button button; 

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

    spinner = (Spinner) findViewById(R.id.spinner1); 
    button= (Button) findViewById(R.id.button); 

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
     this, R.array.entries, 
     android.R.layout.simple_spinner_dropdown_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    spinner.setOnItemSelectedListener(new function()); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) 
     { 
        if(activityToOpen!=null) 
        { 
        Intent intent = new Intent(view.getContext(), activityToOpen); 
        startActivity(intent); 

     } 
    }); 
} 

public class function implements OnItemSelectedListener { 

@Override 
public void onItemSelected(AdapterView<?> parent, View arg1, int pos, 
     long id) { 
    String selection = ((TextView)arg1).getText().toString(); 
    if (selection.equals("Red Screen")){ 
     activityToOpen = DisplayMessageActivity.class; 
    }else if(selection.equals("Math Screen")){ 
     activityToOpen = Numbers.class; 
    }else{ 
     activityToOpen = Face.class; 
    } 

最良好的祝愿。

+0

啊,使activityToOpen作为一个类是我失踪。谢谢! – mcon

+0

您的欢迎:) –

0

其简单oncreateDisable按钮

而且在OnItemSelectedListener如果选中该选项启用按钮。因此,你在迫使用户从列表中选择(微调)任何选项

+0

我是Android的新手 - 取决于在微调器上选择哪个屏幕,按下按钮将会做出不同的事情。如何根据微调器中选择的内容更新按钮的操作? – mcon

+0

@mcon让我先了解一下a)你不想让用户按下提交按钮,直到他从spinner中选择了正确的? – MDMalik

0

在您的OnClickListener中,您应该阅读Spinner的选择并开始适当的活动。有关如何执行此操作的信息,请参阅Android Training TutorialsAndroid API Guides。在完成这些文件后,如果遇到困难,请随时回答具体问题。