2012-03-20 5 views
0

эй Я создаю приложение с двумя переключателями на нем, которые меняют фон xml.Двойная кнопка нажата

Однако, если пользователь прикасается кнопку 1 затем 2 Я хочу, чтобы изменить цвет фона от pic1 к pic2 (на первой кнопке удара) затем pic4 (на второй кнопке удара)

но кнопку 2, если пользователь прикасается затем 1, я хочу, чтобы он менял фон с pic1 на pic3 (при первом нажатии кнопки), затем pic4 (при втором нажатии кнопки)

на данный момент это мой сценарий;

package com.jamie.game; 

import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.os.CountDownTimer; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class level2 extends Activity implements OnClickListener{ 

    Button button1; 
    View targetView; 
    Button button2; 

protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.level2); 
    targetView = (View)findViewById(R.id.level2); 
    button1 = (Button) findViewById(R.id.button1); 
    button1.setVisibility(View.VISIBLE); 
    button1.setBackgroundColor(Color.TRANSPARENT); 
    button1.setOnClickListener((android.view.View.OnClickListener)this); 
    button2 = (Button) findViewById(R.id.button2); 
    button2.setVisibility(View.VISIBLE); 
    button2.setBackgroundColor(Color.TRANSPARENT); 
    button2.setOnClickListener((android.view.View.OnClickListener)this); 
    } 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    if(v.getId()==(R.id.button1)){ 
      targetView.setBackgroundResource(R.drawable.pic2); 
      if(v.getId()==(R.id.button2)){ 
      targetView.setBackgroundResource(R.drawable.pic4); 
    }else 
     if(v.getId()==(R.id.button2)){ 
       targetView.setBackgroundResource(R.drawable.pic3); 
      if(v.getId()==(R.id.button2)){ 
      targetView.setBackgroundResource(R.drawable.pic4); 

     } 
    } 


} 

, но все это делает чередовать pic2 и pic3 на кнопку нажмет

ответ

1

Возможно, вам нужно создать переменную для хранения идентификатора кнопки, которая была просто щелкнули. Затем, когда вы получаете следующий клик, вы можете просто проверить эту переменную, чтобы узнать, соответствует ли последовательность вашему условию. Например, если вы нажмете первую кнопку - сохраните свой идентификатор в переменной int lastChecked, тогда, когда вы нажмете вторую кнопку - вы должны ли lastChecked равняться первому идентификатору кнопки. Если это так - тогда вы можете запустить свой View сменный код. Надеюсь это поможет.

+0

спасибо, что я создал переменную с именем «кнопка» и изменил ее, когда кнопки были нажаты, а затем добавлено больше, если инструкции и она отлично работала – user1261404

+0

@ user1261404, приветствую вас, рад, что это сработало! – Egor

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