导航
  • 主页
  • 音视频
  • Camera
  • UI
  • 协议
  • SDK
  • NDK
  • Flutter
  • ADB
  • Android Studio
  • 模拟器
  • 问答

android短信会话显示问题

line1213 2013-03-12 01:43:55
代码如下:
Cursor cursor = mydatabasehelper.fetchAllData1(type);
if(cursor != null){
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("type"));
Log.v("info", "类型是 " + name );


if (cur != null && name.equals("发送")) { //1213
System.out.println("发送(green)++++++++++++");
simpleadapter = new SimpleCursorAdapter(this,R.layout.list_say_he_item,cur,
new String[] {"type","det","tim" }, new int[] {R.id.neirong,R.id.single_text,R.id.tim2});
}else{
System.out.println("接收(white)————————");
simpleadapter = new SimpleCursorAdapter(this,R.layout.singletext,cur,
new String[] {"type","det","tim" }, new int[] {R.id.send_receive_text,R.id.single_text,R.id.tim2});
}
setListAdapter(simpleadapter);
simpleadapter.notifyDataSetChanged();
}
cursor.close();
}
得到结果老是只显示一种layout,如何在会话中根据name的值,显示不同layout,求大神帮忙
...全文
171 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
line1213 2013-03-19
求大神帮忙!!
回复
line1213 2013-03-14
回复
line1213 2013-03-13
引用 5 楼 Ada168855 的回复:
你说的这两种风格类似于手机接收和发送短信的那两种风格。我感觉你的错误可能在于那个if else 语句运用上,我没有试,但是我感觉问题在那里,你用一下那个if(){} else if(){}语句试试
之前就是那样写的,但显示的结果还是和上面那样,老是覆盖之前的显示方式
回复
Ada168855 2013-03-13
你说的这两种风格类似于手机接收和发送短信的那两种风格。我感觉你的错误可能在于那个if else 语句运用上,我没有试,但是我感觉问题在那里,你用一下那个if(){} else if(){}语句试试
回复
line1213 2013-03-13
引用 3 楼 Ada168855 的回复:
你说的两种风格是什么意思?你是想让两种不同的情况同时在一个界面里面存在吗?

上面那两个layout是在这个activity本身对应的xml文件的list中显示的,在list中有两种显示方式
第一个layout,发送时这样显示:
当收到信息时,显示为
这时应该调用第二个layout界面,但是为什么发送的那条信息的显示界面也变成第二个的了?
回复
Ada168855 2013-03-12
你说的两种风格是什么意思?你是想让两种不同的情况同时在一个界面里面存在吗?
回复
line1213 2013-03-12
引用 1 楼 Ada168855 的回复:
你可以在R.layout中多写几种xml文件啊
我定义了两个layout,根据name的值不同,显示不同的layout,但始终只显示一种;如name=发送时,显示第一个的,当又收到一条信息name=接收时,前面所有的显示风格全变成了第二个layout的,求解决方案
回复
Ada168855 2013-03-12
你可以在R.layout中多写几种xml文件啊
回复
发动态
发帖子
Android
创建于2009-10-09

7.8w+

社区成员

移动平台 Android
申请成为版主
社区公告
暂无公告