乐读文学

Android从入门到精通

乐读文学 > 科普学习 > Android从入门到精通

第184页

书籍名:《Android从入门到精通》    作者:明日科技




//创建OutaccountDAO对象



//获取所有支出信息,并存储到List泛型集合中



List  listoutinfos=outaccountinfo.getScrollData(0,  (int)  outaccountinfo.getCount());



strInfos=new  String[listoutinfos.size()];  //设置字符串数组的长度



int  i=0;  //定义一个开始标识



for  (Tb_outaccount  tb_outaccount:listoutinfos)  {  //遍历List泛型集合



//将支出相关信息组合成一个字符串,存储到字符串数组的相应位置



strInfos[i]=tb_outaccount.getid()+"|"+tb_outaccount.getType()+"  "+String.valueOf(tb_outaccount.  getMoney())+"元  "+tb_outaccount.getTime();



i++;  //标识加1



}



break;



case  R.id.btnininfo:  //如果是btnininfo按钮



strType="btnininfo";  //为strType变量赋值



InaccountDAO  inaccountinfo=new  InaccountDAO(Showinfo.this);  //创建InaccountDAO对象



//获取所有收入信息,并存储到List泛型集合中



List  listinfos=inaccountinfo.getScrollData(0,  (int)  inaccountinfo.getCount());



strInfos=new  String[listinfos.size()];  //设置字符串数组的长度



int  m=0;  //定义一个开始标识



for  (Tb_inaccount  tb_inaccount:listinfos)  {  //遍历List泛型集合



//将收入相关信息组合成一个字符串,存储到字符串数组的相应位置



strInfos[m]=tb_inaccount.getid()+"|"+tb_inaccount.getType()+"  "+String.valueOf(tb_inaccount.  getMoney())+"元  "+tb_inaccount.getTime();



m++;  //标识加1



}



break;



case  R.id.btnflaginfo:  //如果是btnflaginfo按钮



strType="btnflaginfo";  //为strType变量赋值



FlagDAO  flaginfo=new  FlagDAO(Showinfo.this);  //创建FlagDAO对象



//获取所有便签信息,并存储到List泛型集合中



List  listFlags=flaginfo.getScrollData(0,  (int)  flaginfo.getCount());



strInfos=new  String[listFlags.size()];  //设置字符串数组的长度



int  n=0;  //定义一个开始标识



for  (Tb_flag  tb_flag:listFlags)  {  //遍历List泛型集合



//将便签相关信息组合成一个字符串,存储到字符串数组的相应位置



strInfos[n]=tb_flag.getid()+"|"+tb_flag.getFlag();



if(strInfos[n].length()>15)  //判断便签信息的长度是否大于15



          //将位置大于15之后的字符串用"……"代替



strInfos[n]=strInfos[n].substring(0,15)+"……";



n++;  //标识加1



}



break;



}



//使用字符串数组初始化ArrayAdapter对象



arrayAdapter=new  ArrayAdapter(this,  android.R.layout.simple_list_item_1,  strInfos);



lvinfo.setAdapter(arrayAdapter);  //为ListView列表设置数据源



}

15.11.6 单击指定项时打开详细信息

当用户单击ListView列表中的某条便签记录时,为其设置监听事件,在监听事件中,根据单击的便签信息的编号,打开相应的Activity,代码如下:

lvinfo.setOnItemClickListener(new  OnItemClickListener()  //为ListView添加项单击事件



{



//覆写onItemClick()方法



@Override



public  void  onItemClick(AdapterView  parent,  View  view,  int  position,  long  id)



{



String  strInfo=String.valueOf(((TextView)  view).getText());  //记录单击的项信息



String  strid=strInfo.substring(0,  strInfo.indexOf('|'));  //从项信息中截取编号



Intent  intent  =  null;  //创建Intent对象



if  (strType=="btnoutinfo"  |  strType=="btnininfo")  {  //判断如果是支出或者收入信息



intent=new  Intent(Showinfo.this,  InfoManage.class);  //使用InfoManage窗口初始化Intent对象



intent.putExtra(FLAG,  new  String[]{strid,strType});  //设置要传递的数据



}



else  if  (strType=="btnflaginfo")  {  //判断如果是便签信息



intent=new  Intent(Showinfo.this,  FlagManage.class);  //使用FlagManage窗口初始化Intent对象



intent.putExtra(FLAG,  strid);  //设置要传递的数据



}



startActivity(intent);  //执行Intent,打开相应的Activity



}



});

15.11.7 设计修改/删除便签布局文件

修改/删除便签信息窗体运行效果如图15.17所示。



图15.17 修改/删除便签信息

在res\layout目录下新建一个flagmanage.xml文件,用来作为修改、删除便签信息窗体的布局文件,该布局文件使用LinearLayout结合RelativeLayout进行布局,在该布局文件中添加两个TextView组件、一个EditText组件和两个Button组件,实现代码如下: