MyException - 我的异常网
当前位置:我的异常网» Android » android dialog展示二级列表

android dialog展示二级列表

www.MyException.Cn  网友分享于:2013-06-27  浏览:108次
android dialog显示二级列表
private Dialog createFriendDialog(Context context){
View view = POIItemActivity.this.getLayoutInflater().inflate(R.layout.poi_f_dialog, null);
inflater = POIItemActivity.this.getLayoutInflater();
fDialog = new AlertDialog.Builder(context);
fDialog.setView(view);
fDialog.setIcon(R.drawable.logo);
fDialog.setTitle("选择好友");

layout = (LinearLayout) view.findViewById(R.id.ll_poi_f_content);
showFriendMes();
fDialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
fDialog.create().dismiss();
}
});
return fDialog.create();
}
显示二级列表的函数:
private void showFriendMes() {

layout.removeAllViews();
List<Team> data = Memory.getFriendData();
synchronized (data) {
for(final Team team : data){
//组视图
LinearLayout teamLayout = (LinearLayout) inflater.inflate(R.layout.poi_f_dialog_team, null);
RelativeLayout itemLayout = (RelativeLayout) teamLayout.getChildAt(0);
//展开/收缩 图标
final ImageView icon = (ImageView) itemLayout.getChildAt(1);
LinearLayout itemTeamLayout = (LinearLayout) itemLayout.getChildAt(0);
//组名
TextView teamName = (TextView) itemTeamLayout.getChildAt(0);
teamName.setText(team.getCategoryName());
//组成员数
TextView teamNumber = (TextView) itemTeamLayout.getChildAt(1);
teamNumber.setText(team.getOnlineCount() + "/" + team.getMemberCount());

teamLayout.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
LinearLayout parent = (LinearLayout) v;
View view = parent.getChildAt(1);
int show = view.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE;
view.setVisibility(show);
icon.setImageResource(show == View.VISIBLE ? R.drawable.scroll_to_previous : R.drawable.scroll_to_next);
team.setStatus(show == View.VISIBLE ? 1 : 0);
}
});
LinearLayout teamItem = (LinearLayout) teamLayout.getChildAt(1);
if(team.getStatus() == 1){
teamItem.setVisibility(View.VISIBLE);
}else{
teamItem.setVisibility(View.GONE);
}
teamItem.removeAllViews();
for(final User user : team.getFriendList()){
//孩子视图
LinearLayout userLayout = (LinearLayout) inflater.inflate(R.layout.poi_f_dialog_person, null);
userLayout.setTag(R.string.poi_friends,user);

LinearLayout ll = (LinearLayout) userLayout.getChildAt(0);
//头像
ImageView ivHeader = (ImageView) ll.findViewById(R.id.iv_poi_f_dialog_header);
ivHeader.setImageResource(ImageUtil.getAvatarId(POIItemActivity.this, user.getPicID(), (byte)user.getStatus()));

RelativeLayout rlLayout = (RelativeLayout) ll.getChildAt(1);
//昵称
TextView tvNick = (TextView) rlLayout.getChildAt(0);
// TextView tvNick = (TextView) rlLayout.findViewById(R.id.tv_poi_f_dialog_nick);
tvNick.setText(StringUtil.getDisplayStatusAndName(user.getStatus(), user.getNickName(), user.getRemarkName()));
//名称
TextView tvName = (TextView) rlLayout.findViewById(R.id.tv_poi_f_dialog_name);
tvName.setText(user.getUserName());

userLayout.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
User selectUser = (User) v.getTag(R.string.poi_friends);
if(selectUser.getStatus() == 0){
Toast.makeText(POIItemActivity.this, "离线状态不能发送", Toast.LENGTH_SHORT).show();
}else{

}
}
});
teamItem.addView(userLayout);

}
layout.addView(teamLayout);
}
}
}

poi_f_dialog_team.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
  <RelativeLayout
    android:layout_marginTop="5dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="15dp">
    <LinearLayout
     android:layout_alignParentLeft="true"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_marginLeft="10dp">
    <TextView
      android:id="@+id/tv_poi_f_dialog_team"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content">
    </TextView>
    <TextView
      android:id="@+id/tv_poi_f_dialog_number"
      android:layout_marginLeft="5dp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content">
    </TextView>
    </LinearLayout>
    <ImageView
    android:id="@+id/iv_poi_f_dialog_icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_marginRight="5dp"
    android:layout_centerVertical="true"
    android:src="@drawable/scroll_to_next"
    android:layout_marginTop="5dp">
  </ImageView>
  </RelativeLayout>
  <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
  </LinearLayout>
  <ImageView
android:background="#ADADAD"
android:layout_marginTop="5dp"
android:layout_width="fill_parent"
    android:layout_height="1dp"/>
</LinearLayout>
poi_f_dialog_person.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="3dp"
    android:orientation="horizontal">
  <ImageView
    android:id="@+id/iv_poi_f_dialog_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="40dp">
  </ImageView>
  <RelativeLayout
    android:id="@+id/rl_poi_f_dialog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp">
    <TextView
      android:id="@+id/tv_poi_f_dialog_nick"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content">
    </TextView>
    <TextView
      android:id="@+id/tv_poi_f_dialog_name"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/tv_poi_f_dialog_nick">
    </TextView>
  </RelativeLayout>
  </LinearLayout>
  <View
      android:background="#ADADAD"
      android:layout_marginTop="3dp"
      android:layout_width="fill_parent"
      android:layout_height="1dp">
    </View>
</LinearLayout>

poi_f_dialog.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
  <ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
      android:id="@+id/ll_poi_f_content"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
    </LinearLayout>
  </ScrollView>
</LinearLayout>

文章评论

程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
漫画:程序员的工作
漫画:程序员的工作
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
10个调试和排错的小建议
10个调试和排错的小建议
中美印日四国程序员比较
中美印日四国程序员比较
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员必看的十大电影
程序员必看的十大电影
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
鲜为人知的编程真相
鲜为人知的编程真相
Java程序员必看电影
Java程序员必看电影
程序员都该阅读的书
程序员都该阅读的书
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
老程序员的下场
老程序员的下场
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
我的丈夫是个程序员
我的丈夫是个程序员
程序员和编码员之间的区别
程序员和编码员之间的区别
每天工作4小时的程序员
每天工作4小时的程序员
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
旅行,写作,编程
旅行,写作,编程
如何成为一名黑客
如何成为一名黑客
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
代码女神横空出世
代码女神横空出世
 程序员的样子
程序员的样子
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有