gpt4 book ai didi

java - ListView 显示目录中的文件时出错

转载 作者:行者123 更新时间:2023-12-02 06:50:52 25 4
gpt4 key购买 nike

这是我的代码:

package com.test.testing;

import java.io.File;
import java.util.ArrayList;
import java.util.Date;

import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Environment;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.format.DateFormat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

public class PreviousTrip extends Fragment {
int i;
String k = "";

@Override
public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState ) {
final RelativeLayout mFrame3 = (RelativeLayout) inflater.inflate( R.layout.ptrip, container, false );

File folder = new File(Environment.getExternalStorageDirectory() + "/tc/");
ListView lv;
ArrayList<String> FilesInFolder = GetFiles(folder);
lv = (ListView) mFrame3.findViewById(R.id.lvFiles);

lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.ptrip, FilesInFolder));

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Clicking on items
}
});

/*File[] filelist = folder.listFiles();
String[] theNamesOfFiles = new String[filelist.length];
if (filelist.length > 0) {
for (i = 0; i < theNamesOfFiles.length; i++) {
long lastTime = filelist[i].lastModified();
String dateString = DateFormat.format("MM/dd/yyyy", new Date(lastTime)).toString();
theNamesOfFiles[i] = filelist[i].getName();
k = k + String.valueOf(theNamesOfFiles[i]) + " " + dateString + "\n";
}
Toast.makeText(getActivity(), k, Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(getActivity(), "no files", Toast.LENGTH_SHORT).show();
}*/

return mFrame3;
}

public ArrayList<String> GetFiles(String DirectoryPath) {
ArrayList<String> MyFiles = new ArrayList<String>();
File f = new File(DirectoryPath);

f.mkdirs();
File[] files = f.listFiles();
if (files.length == 0)
return null;
else {
for (int i=0; i<files.length; i++)
MyFiles.add(files[i].getName());
}

return MyFiles;
}
}

我的 ptrip XML 如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@drawable/bginset3" >

<ListView
android:id="@+id/lvFiles"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

</ListView>

</RelativeLayout>

我收到以下错误,我将帮助解决:

ArrayList<String> FilesInFolder = GetFiles(folder); 错误:The method GetFiles(String) in the type PreviousTrip is not applicable for the arguments (File)已修复:ArrayList<String> FilesInFolder = GetFiles(folder.toString());

lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.ptrip, FilesInFolder)); 错误:ptrip cannot be resolved or is not a field

除上述之外,我还尝试在卡片 View 中显示每个项目,例如 Play 商店中的“我的应用程序”,如下所示:

enter image description here

最佳答案

ArrayList<String> FilesInFolder = GetFiles(folder); 
Error: The method GetFiles(String) in the type PreviousTrip is not applicable for the arguments (File)
Fixed: ArrayList<String> FilesInFolder = GetFiles(folder.toString());

我建议您使用folder.getName()而不是folder.toString()

lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.ptrip, FilesInFolder)); 
Error: ptrip cannot be resolved or is not a field

首先,只有当 some_layout 是 Android 框架的一部分时,才可以使用 android.R.layout.some_layout

如果 R.layout.ptrip 是您的布局之一,那么您必须向该布局内的 TextView 提供 id构造函数。例如,您的初始化应如下所示:

lv.setAdapter(new ArrayAdapter<String>(this, R.layout.ptrip,
R.id.some_textview_inside_layout_ptrip, FilesInFolder));

如果布局文件 ptrip 中只有 TextView,则以下内容不会导致错误:

    lv.setAdapter(new ArrayAdapter<String>(this, R.layout.ptrip, FilesInFolder));  

关于java - ListView 显示目录中的文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com