Разработка Android-осциллографа - PullRequest
0 голосов
/ 14 февраля 2012

Я новичок в разработке программ для Android ... однако передо мной стоит задача разработать осциллограф в телефоне для Android. У меня есть какая-то программа при отладке программы.Я установил кнопку для осциллографа, используя этот код ..

run_buton = (ToggleButton) findViewById(R.id.tbtn_runtoggle);
    run_buton.setOnClickListener(this);
    rb1 = (RadioButton)findViewById(R.id.rbtn_ch1);
    rb2 = (RadioButton)findViewById(R.id.rbtn_ch2);

и

public static final int rbtn_ch1 = 0;
public static final int rbtn_ch2 = 0;
public static final int txt_ch1pos = 0;
public static final int txt_ch2pos = 0;
public static final int button_connect = 0;
public static final int WaveformArea = 0;
public static int btn_position_down;
public static int tbtn_runtoggle;
public static int btn_position_up;
btn_pos_up = (Button) findViewById(R.id.btn_position_up);
btn_pos_down = (Button) findViewById(R.id.btn_position_down);
btn_pos_up.setOnClickListener(this);
btn_pos_down.setOnClickListener(this);

, и я установил все после R.id.быть целым числом / полем .. которое показано в R-файле как показано ниже

, однако Eclispe сказал мне, что у меня есть программа на трех последних полях ... это "btn_posiion_down", "tbtn_runtoggle" и "btn_postion_up«.. показывает ошибку, говоря, что« регистр выражений должен быть константными выражениями »... я не понимаю, что это значит ... Первое предложение сценария получает ошибку ...

case R.id.btn_position_up :
        if(rb1.isChecked() && (ch1_pos<38) ){
            ch1_pos += 1; ch1pos_label.setPadding(0, toScreenPos(ch1_pos), 0, 0);
            sendMessage( new String(new byte[] {ADJ_POSITION, CHANNEL1, ch1_pos}) );
        }
        else if(rb2.isChecked() && (ch2_pos<38) ){
            ch2_pos += 1; ch2pos_label.setPadding(0, toScreenPos(ch2_pos), 0, 0);
            sendMessage( new String(new byte[] {ADJ_POSITION, CHANNEL2, ch2_pos}) );
        }
        break;

Может ли кто-нибудь любезно сказать мне, что происходит ??

1 Ответ

1 голос
/ 14 февраля 2012

Звучит так, как будто вы используете проект библиотеки, который определяет эти идентификаторы.Если это так, вы не можете использовать операторы switch с этими идентификаторами, потому что они не являются статическими.

Попробуйте использовать операторы if / else вместо переключателя.Eclipses Quick-Fix tool предложит вам в качестве решения вашу проблему.

...