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();
}

}
}
展开
 我来答
百度网友18036f5
2014-03-06 · TA获得超过223个赞
知道答主
回答量:73
采纳率:0%
帮助的人:57.4万
展开全部
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));
分页当然需要一个触发换页的行为,就像我的例子
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式