import android.app.Activity;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.CompoundButton;

import android.widget.CompoundButton.OnCheckedChangeListener;

import android.widget.ImageView;

import android.widget.RadioButton;

import android.widget.TextView;

public class RecoverListAdapter extends BaseAdapter {

private LayoutInflater inflater;

int[] backup_record_item_image;

String[] backup_record_item_time;

String[] backup_record_item_to;

Activity activity;

private int temp = -1;

public RecoverListAdapter(Activity context, int[] backup_record_item_image,

String[] backup_record_item_time, String[] backup_record_item_to) {

this.inflater = LayoutInflater.from(context);

this.backup_record_item_image = backup_record_item_image;

this.backup_record_item_time = backup_record_item_time;

this.backup_record_item_to = backup_record_item_to;

this.activity = context;

}

@Override

public int getCount() {

return backup_record_item_time.length;

}

@Override

public Object getItem(int position) {

return position;

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder;

if (convertView == null) {

holder = new ViewHolder();

convertView = this.inflater.inflate(R.layout.general_recover_list_item, null);

holder.iv = (ImageView) convertView.findViewById(R.id.backup_record_item_image);

holder.tv_time = (TextView) convertView.findViewById(R.id.backup_record_item_time);

holder.tv_to = (TextView) convertView.findViewById(R.id.backup_record_item_to);

holder.radioButton = (RadioButton) convertView

.findViewById(R.id.backup_record_item_btn);

holder.radioButton.setChecked(false);

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

holder.iv.setImageResource(backup_record_item_image[position]);

holder.tv_time.setText(backup_record_item_time[position]);

holder.tv_to.setText(backup_record_item_to[position]);

//黑体部分为实现单选功能部分

holder.radioButton.setId(position);

holder.radioButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {


if (isChecked) {

if (temp != -1) {

RadioButton tempButton = (RadioButton) activity.findViewById(temp);

if (tempButton != null) {

tempButton.setChecked(false);

}

}

temp = buttonView.getId();

}

}

});

if (position == temp) {

holder.radioButton.setChecked(true);

} else {

holder.radioButton.setChecked(false);

}

return convertView;

}

private class ViewHolder {

ImageView iv;

TextView tv_time;

TextView tv_to;

RadioButton radioButton;

}

}


general_recover_list_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="fill_parent"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="5dip" android:paddingRight="5dip" android:id="@+id/backup_record_item"> <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_alignParentLeft="true" android:id="@+id/backup_record_item_image"/> <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="vertical" android:layout_toRightOf="@+id/backup_record_item_image" android:id="@+id/backup_record_item_txt"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="时间" android:layout_alignTop="@+id/imageView1" android:layout_alignBottom="@+id/imageView1" android:id="@+id/backup_record_item_time"/> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="备份联系人 到 " android:layout_toRightOf="@+id/imageView1" android:layout_alignTop="@+id/imageView1"/> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="手机/存储卡" android:layout_toRightOf="@+id/imageView1" android:layout_alignTop="@+id/imageView1" android:id="@+id/backup_record_item_to" /> </LinearLayout> <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentRight="true" android:id="@+id/backup_record_item_btn" />
<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:text="" android:id="@+id/backup_record_item_check" /> </RelativeLayout> </LinearLayout>
main.xml <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:id="@+id/recover_items"> <ListView android:id="@+id/recover_list" android:cacheColorHint="#00000000" android:layout_height="match_parent" android:layout_width="fill_parent"/> <View android:id="@+id/recover_footer" android:layout_width="fill_parent" android:layout_height="40dip" /> </LinearLayout>

更多相关文章

  1. 【黑马Android】(03)学生管理系统/动态刷新界面
  2. 获取系统联系人及电话
  3. android中搜索联系人
  4. 获取手机联系人
  5. Dalvik opcodes 【转过来 备份】
  6. 【黑马Android】(13)Linux操作系统/cron计划任务
  7. Android微信智能心跳方案
  8. Android(安卓)Studio 入门:(五) 悬浮按钮增加联系人信息
  9. android通讯录开发 增删改查(附Demo)

随机推荐

  1. Android概述
  2. android 实现 搜索保存历史记录功能
  3. 【Android】Android(安卓)代码判断当前设
  4. android 相对定位布局方向
  5. Android系列教程之四:Android项目的目录结
  6. 关于Android学习要问的一些问题
  7. Android下监听Home键
  8. Android(安卓)activity四种启动模式及Fla
  9. Android(java)学习笔记106:Android(安卓)XML
  10. Android(安卓)布局 LinearLayout与Relati