android listview 选中多行,Android中一个单行与多行并存的listview

importjava.text.DateFormat;

importjava.text.SimpleDateFormat;

importjava.util.ArrayList;

importjava.util.Calendar;

importjava.util.Date;

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

importandroid.app.Activity;

importandroid.app.AlertDialog;

importandroid.app.DatePickerDialog;

importandroid.app.Dialog;

importandroid.app.ProgressDialog;

importandroid.content.Context;

importandroid.content.DialogInterface;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.view.LayoutInflater;

importandroid.view.View;

importandroid.view.ViewGroup;

importandroid.view.WindowManager;

importandroid.view.View.OnClickListener;

importandroid.widget.AdapterView;

importandroid.widget.BaseAdapter;

importandroid.widget.DatePicker;

importandroid.widget.ImageButton;

importandroid.widget.LinearLayout;

importandroid.widget.ListView;

importandroid.widget.TextView;

importandroid.widget.Toast;

publicclassmultiListviewextendsActivity{

privateListView listview;

privateList> DataList;

MyAdapter adapter;

privateRunnable viewOrders;

privateintmYear;

privateintmMonth;

privateintmDay;

@Override

publicvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//禁止休眠

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,

WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

setContentView(R.layout.listview);

listview = (ListView)findViewById(R.id.listView);

listview.setAdapter(adapter);

listview.setOnItemClickListener(newListView.OnItemClickListener(){

@Override

publicvoidonItemClick(AdapterView> parent, View view,intposition,

longarg3) {

setSelectedValues(position);

}

});

}

//选择listview事件,处理相关逻辑

privatevoidsetSelectedValues(intposition)

{

Intent _Intent;

Bundle bundle;

AreaOption area;

switch(position)

{

case0://

Toast.makeText(multiListview.this,"请正确选择您的日期1!",

Toast.LENGTH_SHORT).show();

showDialog(DATE1_DIALOG_ID);

break;

case1://

Toast.makeText(multiListview.this,"请正确选择您的日期2!",

Toast.LENGTH_SHORT).show();

showDialog(DATE2_DIALOG_ID);

break;

}

}

@Override

protectedDialog onCreateDialog(intid) {

switch(id) {

caseDATE1_DIALOG_ID:

returnnewDatePickerDialog(this,

mDateSetListener,

mYear, mMonth, mDay);

caseDATE2_DIALOG_ID:

returnnewDatePickerDialog(this,

mDateSetListener1,

mYear, mMonth, mDay);

}

returnnull;

}

privateDatePickerDialog.OnDateSetListener mDateSetListener =

newDatePickerDialog.OnDateSetListener() {

publicvoidonDateSet(DatePicker view,intyear,

intmonthOfYear,intdayOfMonth) {

mYear = year;

mMonth = monthOfYear;

mDay = dayOfMonth;

Map map =newHashMap();

map.put("left1","日期1:");

map.put("center1", getDate());

map.put("star1","*");

map.put("arrow1",">");

DataList.set(0, map);

adapter.notifyDataSetChanged();

}

};

privateDatePickerDialog.OnDateSetListener mDateSetListener1 =

newDatePickerDialog.OnDateSetListener() {

publicvoidonDateSet(DatePicker view,intyear,

intmonthOfYear,intdayOfMonth) {

mYear = year;

mMonth = monthOfYear;

mDay = dayOfMonth;

Map map =newHashMap();

map.put("left1","日期2:");

map.put("center1", getDate());

map.put("star1","*");

map.put("arrow1",">");

DataList.set(1, map);

adapter.notifyDataSetChanged();

}

};

privateList> getData() {

List> list =newArrayList>();

//0

Map map =newHashMap();

map.put("left1","日期1:");

map.put("center1", getDate());

map.put("star1","*");

map.put("arrow1",">");

list.add(map);

//1

map =newHashMap();

map.put("left1","日期2:");

map.put("center1", getDate());

map.put("star1","*");

map.put("arrow1",">");

list.add(map);

//2

map =newHashMap();

map.put("left1","地点1:");

map.put("center1","请选择");

map.put("star1","*");

map.put("arrow1",">");

list.add(map);

//3

map =newHashMap();

map.put("left1","地点2:");

map.put("center1","请选择");

map.put("star1","*");

map.put("arrow1",">");

list.add(map);

//4

map =newHashMap();

map.put("left1","体重:");

map.put("center1","请选择");

map.put("star1","");

map.put("arrow1",">");

list.add(map);

//5

map =newHashMap();

map.put("left1","工作:");

map.put("center1","请选择");

map.put("star1","*");

map.put("left2","移动电话1:");

map.put("center2","请选择");

map.put("star2","*");

map.put("arrow2",">");

map.put("left3","移动电话2:");

map.put("center3","请选择");

map.put("star3","");

list.add(map);

//6

map =newHashMap();

map.put("left1","其他:");

map.put("center1","请选择");

map.put("arrow1",">");

list.add(map);

returnlist;

}

//获得日期

privateString getDate()

{

StringBuilder Date =newStringBuilder()

.append(mYear).append("-")

.append(mMonth +1).append("-")

.append(mDay).append(" ");

returnDate.toString();

}

publicfinalclassViewHolder{

publicTextView left1;

publicTextView left2;

publicTextView left3;

publicTextView center1;

publicTextView center2;

publicTextView center3;

publicTextView star1;

publicTextView star2;

publicTextView star3;

publicTextView arrow1;

publicTextView arrow2;

publicTextView arrow3;

publicLinearLayout line1;

publicLinearLayout line2;

publicLinearLayout line3;

}

publicclassMyAdapterextendsBaseAdapter{

privateLayoutInflater mInflater;

publicMyAdapter(Context context){

this.mInflater = LayoutInflater.from(context);

}

@Override

publicintgetCount() {

// TODO Auto-generated method stub

returnDataList.size();

}

@Override

publicObject getItem(intarg0) {

// TODO Auto-generated method stub

returnnull;

}

@Override

publiclonggetItemId(intarg0) {

// TODO Auto-generated method stub

return0;

}

@Override

publicView getView(intposition, View convertView, ViewGroup parent) {

ViewHolder holder =null;

if(convertView ==null) {

holder=newViewHolder();

convertView = mInflater.inflate(R.layout.sourceaddlistview,null);

holder.left1 = (TextView)convertView.findViewById(R.id.left1);

holder.left2 = (TextView)convertView.findViewById(R.id.left2);

holder.left3 = (TextView)convertView.findViewById(R.id.left3);

holder.center1 = (TextView)convertView.findViewById(R.id.center1);

holder.center2 = (TextView)convertView.findViewById(R.id.center2);

holder.center3 = (TextView)convertView.findViewById(R.id.center3);

holder.star1 = (TextView)convertView.findViewById(R.id.star1);

holder.star2 = (TextView)convertView.findViewById(R.id.star2);

holder.star3 = (TextView)convertView.findViewById(R.id.star3);

holder.arrow1 = (TextView)convertView.findViewById(R.id.arrow1);

holder.arrow2 = (TextView)convertView.findViewById(R.id.arrow2);

holder.arrow3 = (TextView)convertView.findViewById(R.id.arrow3);

holder.line1=(LinearLayout)convertView.findViewById(R.id.line1);

holder.line2=(LinearLayout)convertView.findViewById(R.id.line2);

holder.line3=(LinearLayout)convertView.findViewById(R.id.line3);

convertView.setTag(holder);

}else{

holder = (ViewHolder)convertView.getTag();

}

holder.line2.setVisibility(convertView.GONE);

holder.line3.setVisibility(convertView.GONE);

holder.left1.setText((String)DataList.get(position).get("left1"));

holder.center1.setText((String)DataList.get(position).get("center1"));

holder.star1.setText((String)DataList.get(position).get("star1"));

holder.arrow1.setText((String)DataList.get(position).get("arrow1"));

if(position==5)

{

holder.left2.setText((String)DataList.get(position).get("left2"));

holder.center2.setText((String)DataList.get(position).get("center2"));

holder.star2.setText((String)DataList.get(position).get("star2"));

holder.arrow2.setText((String)DataList.get(position).get("arrow2"));

holder.left3.setText((String)DataList.get(position).get("left3"));

holder.center3.setText((String)DataList.get(position).get("center3"));

holder.star3.setText((String)DataList.get(position).get("star3"));

holder.arrow3.setText((String)DataList.get(position).get("arrow3"));

holder.line2.setVisibility(convertView.VISIBLE);

holder.line3.setVisibility(convertView.VISIBLE);

}

returnconvertView;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值