Java 如何打开放置在listView中的文件内容?
因此,我设法列出我保存的所有文件,并将文本编辑到Java 如何打开放置在listView中的文件内容?,java,android,file,listview,inputstream,Java,Android,File,Listview,Inputstream,因此,我设法列出我保存的所有文件,并将文本编辑到列表视图中,效果很好。我现在想要的是将它们打开到编辑文本字段中。下面是我的代码。我该怎么做?我希望你能帮助我 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputS
列表视图中,效果很好。我现在想要的是将它们打开到编辑文本字段中。下面是我的代码。我该怎么做?我希望你能帮助我
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.MimeTypeMap;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.ToggleButton;
import android.widget.TextView;
import android.app.ListActivity;
public class Tab1 extends Activity
{
private ToggleButton toggleButton1;
private ImageView imageViewOn;
private TextView textReceive;
private Button refresh;
EditText txtData;
int data_block =100;
private long lastTime = 0;
private List<String> myList;
private File file;
final Handler handler = new Handler() {
public void handleMessage(Message msg)
{
String data = msg.getData().getString("receivedData");
// Affichage de data
long t = System.currentTimeMillis();
if(t-lastTime > 100)
{
textReceive.append("\n");
lastTime = System.currentTimeMillis();
}
textReceive.append(data);
}
};
final Handler handlerStatus = new Handler() {
public void handleMessage(Message msg)
{
int co = msg.arg1;
if(co == 1) {
} else if(co == 2) {
}
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab1);
ListView listView = (ListView) findViewById(R.id.listView1);
myList = new ArrayList<String>();
File directory = Environment.getExternalStorageDirectory();
file = new File(directory + "/Notes");
final File list[] = file.listFiles();
for (int i = 0; i < list.length; i++) {
myList.add(list[i].getName());
}
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, myList);
listView.setAdapter(adapter); //Set all the file in the list.
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
}
}
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileNotFoundException;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.util.ArrayList;
导入java.util.List;
导入android.app.Activity;
导入android.content.ActivityNotFoundException;
导入android.content.Intent;
导入android.net.Uri;
导入android.os.Bundle;
导入android.os.Environment;
导入android.os.Handler;
导入android.os.Message;
导入android.util.Log;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.webkit.MimeTypeMap;
导入android.widget.Adapter;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.ImageView;
导入android.widget.ListView;
导入android.widget.Toast;
导入android.widget.ToggleButton;
导入android.widget.TextView;
导入android.app.ListActivity;
公共类Tab1扩展了活动
{
私有切换按钮切换按钮1;
私人影像查看;
私有文本查看文本接收;
私人按钮刷新;
编辑文本txtData;
int data_block=100;
私有长lastTime=0;
私人名单;
私有文件;
最终处理程序=新处理程序(){
公共无效handleMessage(消息消息消息)
{
字符串数据=msg.getData().getString(“接收数据”);
//数据附加
long t=System.currentTimeMillis();
如果(t-lastTime>100)
{
textReceive.append(“\n”);
lastTime=System.currentTimeMillis();
}
textReceive.append(数据);
}
};
最终处理程序handlerStatus=新处理程序(){
公共无效handleMessage(消息消息消息)
{
int co=msg.arg1;
如果(co==1){
}否则如果(co==2){
}
}
};
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab1);
ListView ListView=(ListView)findViewById(R.id.listView1);
myList=新的ArrayList();
File directory=Environment.getExternalStorageDirectory();
文件=新文件(目录+“/Notes”);
最终文件列表[]=File.listFiles();
for(int i=0;i
研究android文档中的View.setTag(string)
方法。然后在适配器类中使用view.setTag(param)
。。。用返回的视图名称替换视图,并用文件路径替换参数。。。
接下来,在onItemClick
方法调用view.getTag()
。这将返回文件路径。打开文件,然后使用其路径。我希望您能理解这一点。setTag()
为listview的每个视图附加一个标记或元数据。此标记或元不会显示给用户。您正在视图中显示文件名,因此使用文件路径作为每个视图的标记。getTag()
将返回文件路径。。但我是用字符串文件_name=myList.get(position)实现的;文件uri=新文件(文件,文件名)///