Как сделать отдельные функции кнопок в Java / Android? - PullRequest
2 голосов
/ 09 ноября 2011

У меня есть класс с именем Menu, и внутри этого класса я хочу разместить меню кнопок, таких как buttonA, buttonB, buttonC и так далее.Однако, когда я запускаю приложение на своем телефоне, я не могу нажать кнопку B, прежде чем нажать кнопку A.Если я сначала нажму кнопку А, я могу выбрать кнопку А или кнопку В все, что захочу.Вопрос в том, как разделить кнопки в классе Menu, чтобы в любой момент можно было нажать любую кнопку?

package com.emods.app1;

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

public class Menu extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button btnA = (Button) findViewById(R.id.button1);
    btnA.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent ("com.emods.app1.BUTTONA"));

    Button btnB = (Button) findViewById(R.id.button2);
    btnB.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            startActivity(new Intent ("com.emods.app1.BUTTONB"));
        }
        });
        }

    });
}

}

Ответы [ 5 ]

2 голосов
/ 09 ноября 2011

Вам нужно взять свой btnB и поместить его вне события onClick для btnA.В настоящее время у вас есть объявление для btnB внутри события onClick for btnA.

Button btnA = (Button) findViewById(R.id.button1);     
btnA.setOnClickListener(new View.OnClickListener() {          
    public void onClick(View v) {             
        // TODO Auto-generated method stub             
        startActivity(new Intent ("com.emods.app1.BUTTONA"));      
    }         
});   
Button btnB = (Button) findViewById(R.id.button2);     
btnB.setOnClickListener(new View.OnClickListener() {          
    public void onClick(View v) {             
        startActivity(new Intent ("com.emods.app1.BUTTONB"));         
    }      
}); 
1 голос
/ 09 ноября 2011
Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() 
{

    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent ("com.emods.app1.BUTTONA"));
    }
});

Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() 
{

    public void onClick(View v) {
        startActivity(new Intent ("com.emods.app1.BUTTONB"));
    }

});
0 голосов
/ 09 ноября 2011

Только неправильные скобки:

package com.emods.app1;

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

public class Menu extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button btnA = (Button) findViewById(R.id.button1);
    btnA.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent ("com.emods.app1.BUTTONA"));
        }
    });

    Button btnB = (Button) findViewById(R.id.button2);
    btnB.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            startActivity(new Intent ("com.emods.app1.BUTTONB"));

        }
    });
}

}

Вы должны активировать автоматическое форматирование в вашей IDE.

0 голосов
/ 09 ноября 2011

Ошибка вложения.

Изменение:

Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent ("com.emods.app1.BUTTONA"));

Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        startActivity(new Intent ("com.emods.app1.BUTTONB"));
    }
    });
    }

});

на:

Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent ("com.emods.app1.BUTTONA"));
    }
});

Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        startActivity(new Intent ("com.emods.app1.BUTTONB"));
    }

});

Это должно исправить.

0 голосов
/ 09 ноября 2011

Вы определили слушателя для второй кнопки внутри слушателя для первой.

...