Например, у меня есть такой метод. Если вы видите String 'tablenumber', я хочу использовать его в более поздней функции, такой как кнопка onclick, чтобы я мог отправить ее содержимое в другое действие. Но если я использую эту переменную вне метода, она не распознается. Как мне это сделать?
{
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
String tablenumber = (String) arg0.getSelectedItem();
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
вы можете сделать область вашей переменной глобальной для всей вашей деятельности, как это
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();
}
}
сделайте это поле в своем классе активности. если вы используете eclipse, выберите свою локальную переменную и используйте Ctrl/1 или Cmd/1, затем выберите "преобразовать локальную переменную в поле",
final
означает, что переменная никогда не изменится, поэтому ее можно использовать в других потоках или в анонимных экземплярах классов. private
означает, что переменная может использоваться только в классе, где она определена.
Вы должны использовать глобальную переменную.
{
String tablenumber;
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
tablenumber = (String) arg0.getSelectedItem();
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});