Использование кнопок для переключения видов с помощью Android SDK - PullRequest
1 голос
/ 15 ноября 2010

У меня проблемы с переключением режимов при нажатии кнопок в моем приложении для Android. Код не показывает ошибок в Eclipse, но приложение неожиданно завершает работу в эмуляторе при нажатии кнопки. Мой код ниже. Спасибо

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button go = (Button)findViewById(R.id.goButton);
        go.setOnClickListener(mGoListener);     
    }

    private OnClickListener mGoListener = new OnClickListener() {
    public void onClick(View v) {           
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setClassName("android.taboo.Activities", "android.taboo.Activities.MainMenu");
            startActivity(intent);
        }
    };
}

public class MainMenu extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainmenu);

        TextView quickStart = (TextView)findViewById(R.id.quickStart);
        quickStart.setOnClickListener(mQuickStartListener);

        TextView gameSetup = (TextView)findViewById(R.id.gameSetup);
        gameSetup.setOnClickListener(mGameSetupListener);

        TextView settings = (TextView)findViewById(R.id.settings);
        settings.setOnClickListener(mSettingsListener);

        TextView wordEntry = (TextView)findViewById(R.id.wordEntry);
        wordEntry.setOnClickListener(mWordEntryListener);
    }

    //Listeners for MainMenu navigation buttons
    private OnClickListener mQuickStartListener = new OnClickListener() {
        public void onClick(View v) {
          setContentView(R.layout.quickstart);
        }
    };
    private OnClickListener mGameSetupListener = new OnClickListener() {
        public void onClick(View v) {
          setContentView(R.layout.gamesetup);
        }
    };
    private OnClickListener mSettingsListener = new OnClickListener() {
        public void onClick(View v) {
          setContentView(R.layout.settings);
        }
    };
    private OnClickListener mWordEntryListener = new OnClickListener() {
        public void onClick(View v) {
          setContentView(R.layout.word);
        }
    };
}

1 Ответ

1 голос
/ 15 ноября 2010

Взгляните на этот код, который у меня здесь, это должно вам помочь.

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.content.Intent;

public class SmartApp extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.intro);

        final Button firstTimeButton = (Button) findViewById(R.id.firstTimeButton);
        firstTimeButton.setOnClickListener(
                new View.OnClickListener()
        {
                        @Override
                        public void onClick(View v)
                        {
                                // TODO Auto-generated method stub
                                Intent userCreationIntent = new Intent(v.getContext(), UserCreation.class);
                                startActivityForResult(userCreationIntent, 0);
                        }
                });
    }
}

Когда пользователь нажимает «кнопку первого раза», пользователь попадает на «страницу создания пользователя». Я верю, что в вашем коде вы ошибаетесь. Сравните ваши с тем, что я предоставил, и вы сможете увидеть различия и внести соответствующие изменения. Дайте мне знать, если это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...