редактирование глобальной переменной - PullRequest
0 голосов
/ 05 августа 2011

Привет, я новичок в android, и у меня есть программа, у которой есть определение глобальной переменной, и она работает, так что я могу установить ее и получать в каждом действии, НО она не похожа на изменение в прослушивателе по нажатию. Я сделал так, чтобы на экране был текст редактирования, и когда кто-то нажимает кнопку, я хочу, чтобы текст текста редактирования был помещен в глобальную переменную. вот мой код:

Button SiteButton = (Button) findViewById(R.id.SiteButton);
    SiteButton.setOnClickListener(new View.OnClickListener() {
        TextView textviewS = (TextView) findViewById(R.id.SiteIdT);
        EditText edittextS = (EditText) findViewById(R.id.SiteIdE);
        TextView textviewB = (TextView) findViewById(R.id.BusIdT);
        EditText edittextB = (EditText) findViewById(R.id.BusIdE);
        public void onClick(View v) {
            textviewS.setText(edittextS.getText());
            ((Global) this.getApplication()).setgSiteId(textviewS.getText().toString());
            textviewB.setText(edittextB.getText()); 
            ((Global) this.getApplication()).setgVehicleId(textviewB.getText().toString());
        }
    });

, но часть getApplication() показывает ошибку. кто-нибудь может помочь?

1 Ответ

0 голосов
/ 05 августа 2011

Вы должны ссылаться на свою деятельность this, так как View.OnClickListener не имеет такого метода:

// Bad code! read below
((Global) MyActivityClassName.this.getApplication()).setgSiteId(textviewS.getText().toString());
textviewB.setText(edittextB.getText()); 
((Global) MyActivityClassName.this.getApplication()).setgVehicleId(textviewB.getText().toString());

Кстати, а как вы разыгрываете отдачу от getApplication() до Global? Там вы получите исключение приведения класса.

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