java - ListView 和全局变量

标签 java android csv global-variables

我正在尝试为 Android 应用程序创建一个列表。该应用程序有很多我必须发送的信息。我创建了一个 csv,然后按如下方式解析:

public String[] getArray() {
    String[] array = new String[12497];
    try {
        AssetInputStream asset_stream = (AssetInputStream)getAssets().open("information.csv");
        BufferedReader br = new BufferedReader(new InputStreamReader(asset_stream));
        line = br.readLine();
        int count = 0;
        while(line != null) {
            fields = line.split(",");
            array[count] = fields[1];
            line = br.readLine();
            count++;
        }

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return array;
}

我遇到的问题是,当我尝试从该数组创建列表时,出现了几个错误。对于 Intent 中的包来说太大了,所以我不能这样做,所以我尝试像这样访问全局变量:

public class myArrayList extends Activity {
int number, count = 0;
EditText edittext;
ListView listview;
Globals test = (Globals)getApplication();

String[] text = test.getArray();

int textlength = 0;

ArrayList<String> text_sort = new ArrayList<String>();

public void onCreate(Bundle savedInstanceState) {

因此,我不断收到无法实例化 Activity 组件信息错误:java.lang.nullpointerException。另外,由于编码的原因,我无法初始化 onCreate 内部的数组。它必须之前完成。我做错了什么以及如何才能完成这项工作?该数组必须是应用程序的一部分。谢谢。

最佳答案

为什么需要在 onCreate 之前完成它?这就是 Activity Lifecycle 的开始。

如果您希望在此之前完成,则需要在此之前找到可用的位置。

也许可以扩展 Application 类并从那里检索它?

在这种情况下什么是 null ?

关于java - ListView 和全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202690/

相关文章:

android - 有状态的可绘制对象未找到其他可绘制对象

安卓工作室 : How can I see which resources are not used?

python - 如何获取 csv 文件的子集作为 Spark RDD

python - csv Jinja2 模板呈现 unicode 错误

java - 删除文件夹中的部分文件名

java - Apache MyFaces 2.0 身份验证和授权

java - 如何模拟用于测试的数据库(Java)?

java - 将 Android 应用程序连接到 Google Cloud Endpoints : could not find class 时出错

azure - 无法将 'System.Object[]' 转换为参数 'System.String' 所需的类型 'Name' 。不支持指定的方法。在 :1 char:35 行

java - Liferay Service Builder - 创建引用