
android listView 文件读写成功不了
privatevoidwriteContact(Stringname,Stringphone){if(validata(name,phone)){Toast.makeTe...
private void writeContact(String name, String phone)
{
if (validata(name, phone))
{
Toast.makeText(Activity00_0.this, "写入", 5000).show();;
String path = "mnt/sdcard/contactss.txt";
try
{
PrintWriter pw = new PrintWriter(new OutputStreamWriter(
new FileOutputStream(path, true), "UTF-8"));
pw.print("\n"+name+","+phone);
pw.flush();
pw.close();
} catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} 展开
{
if (validata(name, phone))
{
Toast.makeText(Activity00_0.this, "写入", 5000).show();;
String path = "mnt/sdcard/contactss.txt";
try
{
PrintWriter pw = new PrintWriter(new OutputStreamWriter(
new FileOutputStream(path, true), "UTF-8"));
pw.print("\n"+name+","+phone);
pw.flush();
pw.close();
} catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} 展开
展开全部
ListView怎么能显示那么长的文本,ListView是拿来做选项菜单的
import java.util.Scanner;
String text = "To be\nor not to be\nthat is the question.\nString to segment.\n";
int k = 0;
int n = 0;
Scanner p = new Scanner(System.in);
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) == '\n')
k++;
if (k == 2) { /////// 每2行
System.out.println(text.substring(n, i));
n = i + 1;
k = 0;
System.out.println("Press 'n' key to continue . . . ");
if (p.next().equalsIgnoreCase("n"))
continue;
} else if (i == text.length() - 1) {
System.out.println(text.substring(n, text.length() - 1));
break;
}
}
我上面用纯Java做的一个分割测试,你可以参考
放到Android里你只需修改System.out.println部分如下
TextView tv;
tv.setText(text.substring(n, i));
另外为了方便停留,你可以对tv添加一个setOnKeyListener监听OnKey事件,用来替代上面的if (p.next().equalsIgnoreCase("n"))
其实文本你不需要分割可以直接放入TextView,当然如果文件太大是可以考虑分页来继续显示
ListView是用setListAdapter来安装的,例如
String[] items = {"Test Color", "Test String", "Test Dimension", "Test XML", "Test Bitmap", "Test Menu", "Test Layout"};
setListAdapter (new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, items));
分页当然需要一个触发换页的行为,就像我的例子
import java.util.Scanner;
String text = "To be\nor not to be\nthat is the question.\nString to segment.\n";
int k = 0;
int n = 0;
Scanner p = new Scanner(System.in);
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) == '\n')
k++;
if (k == 2) { /////// 每2行
System.out.println(text.substring(n, i));
n = i + 1;
k = 0;
System.out.println("Press 'n' key to continue . . . ");
if (p.next().equalsIgnoreCase("n"))
continue;
} else if (i == text.length() - 1) {
System.out.println(text.substring(n, text.length() - 1));
break;
}
}
我上面用纯Java做的一个分割测试,你可以参考
放到Android里你只需修改System.out.println部分如下
TextView tv;
tv.setText(text.substring(n, i));
另外为了方便停留,你可以对tv添加一个setOnKeyListener监听OnKey事件,用来替代上面的if (p.next().equalsIgnoreCase("n"))
其实文本你不需要分割可以直接放入TextView,当然如果文件太大是可以考虑分页来继续显示
ListView是用setListAdapter来安装的,例如
String[] items = {"Test Color", "Test String", "Test Dimension", "Test XML", "Test Bitmap", "Test Menu", "Test Layout"};
setListAdapter (new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, items));
分页当然需要一个触发换页的行为,就像我的例子
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询