我知道这个问题已经被问过一百万次了,因为我已经做了一些研究并且发现了很多线程。我试图在这些线索中使用答案,但我遇到了一些麻烦。使用全局变量
我期待设置一些我可以在所有活动中使用的变量。
我创建了一个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