2013-06-21 3 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' в' 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

А, делая деятельность, как класс, был тем, чего мне не хватало. Благодаря! – mcon

+0

Ваш прием :) –

0

Его простой oncreateDisable кнопку

И OnItemSelectedListener если опция включения кнопки выбранного. Следовательно, вы вынуждаете пользователю выбрать любой вариант из списка (блесны)

+0

Я новичок в Android - в зависимости от того, какой экран выбран на счетчике, нажатие кнопки сделает что-то другое. Как обновить действие нажатия кнопки в зависимости от того, что выбрано в счетчике? – mcon

+0

@mcon Позвольте мне сначала понять a) Вы не хотите, чтобы пользователь нажимал кнопку отправки, пока он не выбрал что-либо из вертел правильно? – MDMalik

0

В вашем OnClickListener вы должны прочитать выбор Spinner и начать соответствующую деятельность. Вы должны посмотреть на Android Training Tutorials и Android API Guides для получения информации о том, как это сделать. После утешения этих документов, не стесняйтесь возвращаться с конкретными вопросами, когда вы застреваете.

Смежные вопросы