Я знаю, что этот вопрос задавался миллион раз, потому что я провел некоторое исследование и нашел много тем по этому вопросу.Я пытался использовать ответы в этих темах, но у меня возникли некоторые проблемы.
Я ищу, чтобы установить несколько переменных, которые я могу использовать во всех моих действиях.
Iсоздал класс GlobalVariables.java, который выглядит следующим образом (значение там только для целей тестирования на данный момент):
import android.app.Application;
public class GlobalVariables extends Application {
int holeAmount;
public int getHoles(){
return holeAmount;
}
public void setHoles(String s){
holeAmount = 30;
}
}
в моей основной деятельности, где все происходит, у меня есть следующее:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GlobalVariables global = ((GlobalVariables)getApplicationContext());
int totalHoles = global.getHoles();
и в строке «GlobalVariables global = ...» я получаю следующую ошибку:
Multiple markers at this line
- GlobalVariables cannot be resolved
to a type
- GlobalVariables cannot be resolved
to a type
Я пытался следовать инструкциям здесь, но явно что-то делаю неправильно.> Как объявить глобальные переменные в Android?
Любая помощь будет принята с благодарностью!
Спасибо!
ВТОРАЯ ПОПЫТКА:
EasyPar.java (Ошибки @ EasyParHelperActivity)
package com.movi.easypar;
import java.text.DateFormat;
import java.util.Date;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
public class EasyPar extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
(initialize all my buttons and textviews)
}
public void someMethod() {
EasyParHelperActivity.helper.setHoles(30);
int holes = EasyParHelperActivity.helper.getHoles();
}
(the rest of my button functions, etc.)
EasyParHelperActivity (без ошибок)
package com.movi.easypar;
import android.app.Application;
public class EasyParHelperActivity extends Application {
public static EasyParHelper helper = new EasyParHelper();
}
EasyParHelper.java (без ошибок)
package com.movi.easypar;
public class EasyParHelper {
private int holeAmount = 0;
public int getHoles() {
return holeAmount;
}
public void setHoles(int holes) {
holeAmount = holes;
}
}
Все, что я хочу, это чтобы пользователь мог нажимать кнопку «18» или «9» напервый экран, и чтобы приложение могло использовать это значение в любое время во всем, что бы оно ни делало.Поэтому мне нужно установить его на экране 1, а на экране 2 мне нужно получить это значение.