小编Jua*_* CA的帖子

无法获取应用程序上下文(未解析的参考)

我正在尝试获取应用程序的上下文来打印 Toast 消息。我在Java中使用的函数如下:

Toast.makeText(getApplicationContext(), "Hey! I'm working", Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

但现在,我需要在 Kotlin(我开始学习的语言)中实现它,感觉有点失落。我已经尝试了以下代码(在这篇文章中给出),但它不起作用,因为我无法获取应用程序的上下文。

Toast.makeText(this@CoreMainActivity, "Its toast!", Toast.LENGTH_LONG).show()
Run Code Online (Sandbox Code Playgroud)

另外,我无法获取文档getApplicationContext()中描述的上下文。

我很高兴知道如何调用getApplicationContext(),并了解到底this@CoreMainActivity是做什么的(在帖子中this@CoreMainActivity)。请注意,这coreMainActivity是一个 Java 文件。

谢谢!

android kotlin

4
推荐指数
1
解决办法
7038
查看次数

返回ArrayList项而不是boolean

在下面的代码中,我定义了一个名为的方法loadItems,该方法将Item在文本文件的每一行中创建一个类型为数组的列表。

  • Item对象由包含名称和带数字的int变量的String组成。
  • 文本文件的每一行都包含一个要存储在新项目中的名称,其后=和之前,是需要存储在新项目中的数字。总结起来,每一行看起来像:String=int

问题在于loadItems,我没有得到一个新的项目,而是返回一个布尔值,而不是返回一个新项目并将其存储在数组列表中。我之所以这样想是因为新项目是在while函数中创建的,该函数在文本文件中检查新行。

    ArrayList<Item> loadItems() throws FileNotFoundException {

        File phaseOneFile = new File("Phase-1.txt");
        Scanner readPhaseOneFile = new Scanner(phaseOneFile);

        while (readPhaseOneFile.hasNextLine()){
            String actualLine = readPhaseOneFile.nextLine();
            String[] actualLineToItem = actualLine.split("=");

            Item newItem = new Item();
            newItem.itemName=actualLineToItem[0];
            newItem.itemWeight= Integer.parseInt(actualLineToItem[1]);

            return loadItems().add(newItem);

        } 

    }
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
101
查看次数

标签 统计

android ×1

java ×1

kotlin ×1