猿问

主要活动没有正确引用 java 类之外

我最近遇到了一个看起来很普遍而且可能很普通的问题,仅仅 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'在默认包中”,所以它确实在某处识别出它的存在至少。


慕姐4208626
浏览 113回答 2
2回答

慕标琳琳

看起来您需要将类FileTools添加到包中。只需按如下方式将其添加到包中,然后在“主要活动”中导入该包:package mypackageFileTools;imports....public class FileTools {...}Java 文档源:https : //docs.oracle.com/javase/specs/jls/se6/html/packages.html从未命名的包中导入类型是编译时错误。

30秒到达战场

第一:在对应于其位置的每个文件中指定正确的包。第二:在活动类中为 FileTools 添加导入语句。
随时随地看视频慕课网APP

相关分类

Java
我要回答