当前位置: 首页 > 知识库问答 >
问题:

Android Studio在使用DateFormat时:“无法解决'getDateInstance'”错误

云俊美
2023-03-14

我试图创建一个应用程序,包括提示用户与DatePickerDialog和输出选定的日期在周围的活动,根据本教程:https://www.youtube.com/watch?v=KZoijdM4DsY.

下面是发生错误的类:

package com.example.austin.fitlog;

import android.app.DatePickerDialog;
import android.app.Dialog;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class IndexActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {

    TextView txtDate;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_index);
        setTitle("Home");
        txtDate = (TextView) findViewById(R.id.txtDate);
    }

    public void onClickChangeDate(View view) {
        DatePickerFragment datePickerFragment = new DatePickerFragment();
        datePickerFragment.show(getSupportFragmentManager(), "datePicker");
    }

    private void setDate(final Calendar calendar) {
        final DateFormat dateFormat = new DateFormat.getDateInstance(DateFormat.MEDIUM);
        txtDate.setText(dateFormat.format(calendar.getTime()));
    }

    public void onDateSet(DatePicker datePicker, int year, int month, int day) {
        Calendar calendar = new GregorianCalendar(year, month, day);
        setDate(calendar);
    }

    public static class DatePickerFragment extends DialogFragment {
        public Dialog onCreateDialog(Bundle savedInstanceState){
            final Calendar calendar = Calendar.getInstance();
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DAY_OF_MONTH);

            return new DatePickerDialog(getActivity(), (DatePickerDialog.OnDateSetListener) getActivity(), year, month, day);
        }
    }
}

我得到了一个"无法解决符号'getDateInstance'"错误在下面的行:

final DateFormat dateFormat = new DateFormat.getDateInstance(DateFormat.MEDIUM);

我不知道为什么会这样。getDateInstance方法甚至出现在自动填充值中,但在键入后立即变为红色。

我已经提供了正确的导入(java.text.DateFormat),甚至尝试运行“使缓存失效/重新启动”以及修改依赖项。

这是我当前的版本。gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "com.example.austin.fitlog"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:26.+'
}

如果有人能帮助解决这个问题,将不胜感激。

共有1个答案

郁光熙
2023-03-14

只需删除new关键字。

final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);

方法getDateInstance是一个静态方法,它返回一个对象,而不是您正在构造的对象。

 类似资料:
  • 我还是一个建模Anylogic的初学者。我当前正在使用selectOutputOut块创建代理流的不同路由(名为product的代理)。我已经创建了一个用于选择输出的函数,并且已经输入了SelectOutputOut类型用于返回值。 我只是遵循了anylogic示例模型中的SelectOutputN示例。但是,有一个错误“这个方法必须返回一个selectoutputout类型的结果”,我真的不知道

  • 现在我正在尝试从git运行克隆应用程序https://github.com/frinder/frinder-app但问题是该应用程序制作了很长时间,所以应该改变bulid.gradle 但是当我尝试相同的同步实现“com.android.支持:动画矢量可绘制:28.0.0”,但如果我删除它,请继续向我显示错误28.0.0它显示如下 但我不知道是什么造成了不完全相同的版本 这是应用程序build.g

  • 我试图为我的盖茨比应用程序建立我的Docker形象。每当我运行命令docker build时-t gatsbyapp,它给了我一个错误: 同时,我的Dockerfile如下所示:

  • 我正在使用android Studio 0.8.2并希望将数据从文件读取到数组,但我得到了这个错误:无法解析符号FileUtils。错误在这一行: 我已经包括了commons-io-2.4。应用程序中的jar文件- 如果你需要更多信息,请告诉我。

  • 驴你看,我要添加截取到我的应用程序添加这行代码com.mcxioke。截取:库aar:1.0.0建立。gradle文件 我也试着添加改装。但它给出了相同类型的错误:未能解决:bla bla bla。 所以我认为在我的情况下gradle不能同步任何其他库不同于com.android....... 我也尝试将这行代码添加到我的build.gradle。但是什么都没有改变 请指教 编辑:添加注释后生成。

  • 问题内容: 我正在从事android问答游戏。QuestionActivity和EndgameActivity是我游戏中的2个类。我想将游戏的控制权转移到EndgameActivity。为此,我在QuestionActivty类中添加 在方法上。但是在回答了最后一个问题后,当我的游戏控制权没有转移到EndgameActivity时,日志猫显示了以下错误。 QuestionActivity课程- E