我知道這個問題已經被問過一百萬次了,因爲我已經做了一些研究並且發現了很多線程。我試圖在這些線索中使用答案,但我遇到了一些麻煩。使用全局變量
我期待設置一些我可以在所有活動中使用的變量。
我創建了一個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全球= ...」 行,我收到以下錯誤:
Multiple markers at this line
- GlobalVariables cannot be resolved
to a type
- GlobalVariables cannot be resolved
to a type
我試圖按照這裏的說明,但很明顯我做了一些不正確的事情。 >How to declare global variables in 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中我需要檢索該值。
你可以發佈應用程序的整個代碼或最小的應用程序的錯誤?我有強烈的感覺,這是一個非常簡單的錯誤(例如導入一個名爲GlobalVariables的不同類)或更簡單的東西。 – Augusto
完成(名字已經改變了一點..但實質上,一切都應該是相同的。) – Rob
我真的很抱歉Rob,我經歷了4次代碼,我不能發現問題:( – Augusto