Выбор между намерениями (нажатие кнопок) - Разработка приложений для Android - PullRequest
0 голосов
/ 19 сентября 2011

Я новичок в разработке приложений для Android, и я работаю над простым приложением FlashLight, которое переключается между различными цветами на экране.Начальное упражнение составляет макет только с 2 кнопками, помеченными зеленым и синим.Я установил Click Listeners на обе кнопки и установил намерения для них обеих, чтобы каждая из них загружала свою соответствующую активность, но когда я запускаю приложение, я могу перейти только от первого просмотра к ОДНОМУ из других представлений (зеленый ИЛИ синий,но не оба).Я хочу иметь возможность выбрать кнопку EITHER и загрузить следующее действие, но я немного растерялся.Может быть, создать логическое значение, определяющее, на какую кнопку нажал пользователь?ИДК.Это может показаться немного запутанным, поскольку я не очень хорошо описываю подобные технические вещи, но вот мой код ниже.

package com.jbsoft.SimpleFlashlight;

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

public class SimpleFlashLightActivity extends Activity {

  Button GreenButton;
  Button BlueButton;


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

    BlueButton = (Button) findViewById(R.id.bluebutton);
    BlueButton.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

        Intent blueintent = new Intent(SimpleFlashLightActivity.this,
                                       BlueFlashLightActivity.class);
        startActivity(blueintent);

        Toast.makeText(v.getContext(), "SWITCH COLOR!",
                       Toast.LENGTH_LONG);

        GreenButton = (Button) findViewById(R.id.bluebutton);
        GreenButton.setOnClickListener(new View.OnClickListener() {

          public void onClick(View v) {

            Intent greenintent = new Intent(
              SimpleFlashLightActivity.this,
              GreenFlashLightActivty.class);
            startActivity(greenintent);

          }
        });
      }
    });

  }

  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater mi = getMenuInflater();
    mi.inflate(R.menu.list_menu, menu);
    return true;
  }

}

1 Ответ

1 голос
/ 19 сентября 2011

вы устанавливаете onclicklistener для зеленой кнопки в событии onclick синей кнопки. таким образом, слушатель будет настроен только после того, как пользователь щелкнет синий значок. или я что-то здесь упускаю?

установите прослушиватель onclick для зеленой кнопки за пределами listnere для голубой кнопки, и он должен работать ..

...