所以我试图从EditText中获取一个TextInput来保存写在那里的按钮(保存)以保存到SD卡中并显示在ListView上。只是没有工作,不会有任何错误。
我使用的代码:(很抱歉,很多)
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
findViewById(R.id.save).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
try{
String TextInput = mTextInput.getText().toString();
if(!TextInput.trim().equals("")){
File file =new File("/sdcard/Accelerometer.html");
if(!file.exists()){
file.createNewFile();
}
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(TextInput);
bufferWritter.close();
}
}catch (IOException e) {
e.printStackTrace(); }
}
public void onCreate() {
ListView lv;
ArrayList<String> FilesInFolder = GetFiles("/sdcard/Accelerometer.html");
lv = (ListView)findViewById(R.id.textOutput);
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, FilesInFolder));
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Clicking on items
}
});
}
private ArrayList<String> GetFiles(String string) {
// TODO Auto-generated method stub
return null;
}
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
}
有没有想过如何让这项工作?
答案 0 :(得分:0)
我移动了一些你的代码。首先,您需要在创建视图时附加R.id.save侦听器。我将它移动到创建,我让它调用保存。您还需要编写getfiles功能来读取文件。目前,当您的列表永远不会填充时,您没有任何编码。
public void save() {
try{
String TextInput = mTextInput.getText().toString();
if(!TextInput.trim().equals("")){
File file =new File("/sdcard/Accelerometer.html");
if(!file.exists()){
file.createNewFile();
}
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(TextInput);
bufferWritter.close();
}
}catch (IOException e) {
e.printStackTrace(); }
}
public void onCreate() {
ListView lv;
ArrayList<String> FilesInFolder = GetFiles("/sdcard/Accelerometer.html");
lv = (ListView)findViewById(R.id.textOutput);
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, FilesInFolder));
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Clicking on items
}
});
findViewById(R.id.save).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
save();
}
});
}
private ArrayList<String> GetFiles(String string) {
//TODO you need to read files and return a list of strings for this to work.
return null;
}
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
}