我最近遇到了一个看起来很普遍而且可能很普通的问题,仅仅 google 搜索就可以回答所有类型的相关问题,但不是确切的问题本身。我有一个非常简单的设置,其中我唯一的因此主要活动尝试引用我创建的另一个 java 类,以便运行两个简单的从文件读取和写入文件的函数。我的主要活动:import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class DatenActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_daten); if(!FileTools.readString(this, HELLO_FILENAME, PROPERTY_DIRECTORY).equals("")) { TextView output = (TextView) findViewById(R.id.textview_ausgabe); output.setText(FileTools.readString(this, HELLO_FILENAME, PROPERTY_DIRECTORY)); } } private final static String HELLO_FILENAME = "helloString.txt"; private final static String PROPERTY_DIRECTORY = "properties"; public void onButtonSpeichernClick(View view){ TextView output = (TextView)findViewById(R.id.textview_ausgabe); TextView input = (TextView)findViewById(R.id.edittext_eingabe); output.setText(input.getText()); FileTools.saveString(this, HELLO_FILENAME, PROPERTY_DIRECTORY, output.getText().toString()); }}这是引用类的一个剪切示例:import android.content.Context;import android.util.Log;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;现在,问题是 Android Studio 向我显示了红色字母的“FileTools”引用,告诉我它“无法解析符号 'FileTools'”,从而使我无法访问该类中的所有方法。方法本身没有问题,因为它们在我将它们移植到它们自己的类之前就可以工作,现在显然也是公共和静态的。另外,即使有了 的公共构造函数FileTools.class,Android Studio 仍然找不到它,因此问题显然会进一步出现。我已经尝试过世俗的4件事你平时做些这样的事情:清洗,重建,同步与Gradle和Invalidate Cache+Restart所有没有工作。通过与更新过程中崩溃无关的问题,我甚至不得不重新安装Android Studio和Sdk彻底,但它是所有相同的静止。也许这是我忽略的一些非常简单的事情?我看不出来。。顺便说一句,当尝试导入 FileTools 时(......不是那应该是必要的,而是绝望..),上面的工具提示反而说“类'FileTools'在默认包中”,所以它确实在某处识别出它的存在至少。
2 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
看起来您需要将类FileTools添加到包中。只需按如下方式将其添加到包中,然后在“主要活动”中导入该包:
package mypackageFileTools;
imports....
public class FileTools {...}
Java 文档源:https : //docs.oracle.com/javase/specs/jls/se6/html/packages.html
从未命名的包中导入类型是编译时错误。
添加回答
举报
0/150
提交
取消