Android(4)-Java:为什么 DateFormat 不正确?无法从静态上下文中引用 CharSequence format=DateFormat.format(“yyyy-MM-dd_HH:mm:ss”);[复制]

Android(4)-Java: Why is DateFormat incorrect? cannot be referenced from a static context CharSequence format=DateFormat.format("yyyy-MM-dd_HH:mm:ss"); [duplicate]

提问人:Dominik 提问时间:8/31/2023 更新时间:8/31/2023 访问量:45

问:

我试图根据这个视频以编程方式制作屏幕截图,但CharSequence格式有错误:

error: non-static method format(Object) cannot be referenced from a static context
        CharSequence format = DateFormat.format("yyyy-MM-dd_HH:mm:ss");

我试图在文档中找到它,但我没有成功。 我尝试了聊天 gpt,但我收到了与我发送给他的代码相同的代码......

package com.example.screenshot_new;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;

import android.Manifest;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class MainActivity extends AppCompatActivity {

    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        verifyStoragePermission(this);
        btn = findViewById(R.id.btn);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                takeScreenShot(getWindow().getDecorView().getRootView(), "result");
            }

        });
    }

    protected static File takeScreenShot(View view, String fileName) {
        Date date = new Date();
        CharSequence format = DateFormat.format("yyyy-MM-dd_HH:mm:ss");
        try {
            String dirPath = Environment.getExternalStorageDirectory().toString() + "/learnwithDeeksha";
            File fileDir = new File(dirPath);
            if(!fileDir.exists()){
                boolean mkdir=fileDir.mkdir();
          //other code
Java Android 日期格式 字符序列

评论

0赞 shmosel 8/31/2023
您需要构造一个 的实例。它没有静态方法。不确定他们在视频中使用了什么。也许是自定义类?DateFormatformat()
0赞 Anonymous 8/31/2023
OI 强烈建议您不要使用 .这是一个早已过时的课程,总是出了名的麻烦。根据您的需要,请查看 和 java.time 中的其他类,这是现代 Java 日期和时间 APIDateFormatLocalDateTimeDateTimeFormatter
0赞 Anonymous 8/31/2023
欢迎来到 Stack Overflow。那句话的目的是什么,?肯定从来没有能够截屏吗?!如果我们要提供帮助,我们需要知道您想做什么。而且我没有浏览那个视频(路上有太多的广告)。CharSequence format = DateFormat.format("yyyy-MM-dd_HH:mm:ss");java.text.DateFormat
1赞 Thomas Kläger 8/31/2023
该视频适用于 Android 开发。Android SDK 有一个类,该类具有 public static CharSequence format(CharSequence, Date) 方法,这意味着您的导入是错误的。android.text.format.DateFormatjava.text.DateFormat

答: 暂无答案