Как сделать переменную в методе global?

1

Например, у меня есть такой метод. Если вы видите String 'tablenumber', я хочу использовать его в более поздней функции, такой как кнопка onclick, чтобы я мог отправить ее содержимое в другое действие. Но если я использую эту переменную вне метода, она не распознается. Как мне это сделать?

{
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {

                String tablenumber = (String) arg0.getSelectedItem();

            }

            public void onNothingSelected(AdapterView<?> arg0) {
            }
        });
Теги:

3 ответа

3
Лучший ответ

вы можете сделать область вашей переменной глобальной для всей вашей деятельности, как это

public class Xyz extends Activity {



    String tablenumber;



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

}
public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

            tablenumber = (String) arg0.getSelectedItem();

        }

}
  • 0
    Можете ли вы объяснить мне, что означает Частный и Окончательный?
  • 0
    @Ed Briscoe Чтобы объявить постоянное поле, вы используете ключевое слово final и инициализируете его значение. Вы можете присвоить значение конечной переменной только один раз. Если вы попытаетесь переназначить новое значение конечной переменной, которой уже присвоено значение, вы получите ошибку компилятора.
Показать ещё 1 комментарий
2

сделайте это поле в своем классе активности. если вы используете eclipse, выберите свою локальную переменную и используйте Ctrl/1 или Cmd/1, затем выберите "преобразовать локальную переменную в поле",

  • 0
    Можете ли вы объяснить мне, что означает Частный и Окончательный?
  • 0
    Модификатор final означает, что переменная никогда не изменится, поэтому ее можно использовать в других потоках или в анонимных экземплярах классов. private означает, что переменная может использоваться только в классе, где она определена.
Показать ещё 1 комментарий
2

Вы должны использовать глобальную переменную.

    {
        String tablenumber;
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

            tablenumber = (String) arg0.getSelectedItem();

        }

        public void onNothingSelected(AdapterView<?> arg0) {
        }
    });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню