listview获取edittext中输入的数据,显示,并且实现可删除功能

main .XML

<!-- 用药情况 -->



            <TextView
                style="@style/layout_vertical"
                android:layout_weight="1"
                android:background="@color/followup_tipbackground"
                android:text="11.用药情况是什么样的?"
                android:textColor="@color/followup_tipword"
                android:textSize="@dimen/tilletextsize" />


            <LinearLayout
                style="@style/layout_vertical"
                android:layout_weight="1"
                android:orientation="vertical" >


                <RelativeLayout
                    style="@style/layout_vertical"
                    android:layout_weight="1"
                    android:orientation="horizontal" >


                    <TextView
                        android:id="@+id/followupMedication"
                        style="@style/layout_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="药物名称:"
                        android:textColor="#FF3E96"
                        android:textSize="@dimen/followup_content" />


                    <LinearLayout
                        style="@style/layout_horizontal"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_toRightOf="@id/followupMedication"
                        android:orientation="horizontal" >


                        <EditText
                            android:id="@+id/medicinename"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_weight="1"
                            android:text="" />
                    </LinearLayout>
                </RelativeLayout>


                <LinearLayout
                    style="@style/layout_vertical"
                    android:layout_weight="1"
                    android:orientation="horizontal" >


                    <TextView
                        style="@style/layout_horizontal"
                        android:layout_weight="1"
                        android:text="每日:"
                        android:textColor="#FF3E96"
                        android:textSize="@dimen/followup_content" />


                    <EditText
                        android:id="@+id/medicinenametime"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:inputType="number"
                        android:text="" />


                    <TextView
                        style="@style/layout_horizontal"
                        android:layout_weight="1"
                        android:text="次 "
                        android:textColor="#FF3E96"
                        android:textSize="@dimen/followup_content" />


                    <TextView
                        style="@style/layout_horizontal"
                        android:layout_weight="1"
                        android:text="每次:"
                        android:textColor="#FF3E96"
                        android:textSize="@dimen/followup_content" />


                    <EditText
                        android:id="@+id/medicinenamemg"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:inputType="number"
                        android:text="" />


                    <TextView
                        style="@style/layout_horizontal"
                        android:layout_weight="1"
                        android:text="mg"
                        android:textColor="#FF3E96"
                        android:textSize="@dimen/followup_content" />


                    <Button
                        android:id="@+id/addmedicinebutton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="添加" />
                </LinearLayout>


                <ListView
                    android:id="@+id/ListView01"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

            </LinearLayout>

配置listview

medicinelistview.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout   
    android:id="@+id/RelativeLayout01"   
    android:layout_width="fill_parent"   
    xmlns:android="http://schemas.android.com/apk/res/android"   
    android:layout_height="wrap_content"   
    android:paddingBottom="4dip"   
    android:paddingLeft="12dip"  
    android:paddingRight="12dip">  


<TextView   
    android:text="药物名称:"   
    android:layout_height="wrap_content"   
    android:textSize="@dimen/followup_content"   
    android:layout_width="fill_parent"   
    android:id="@+id/ItemTitle"  
    />  
<TextView   
    android:text="药物用途"   
    android:layout_height="wrap_content"   
    android:layout_width="fill_parent"   
    android:layout_below="@+id/ItemTitle"   
    android:id="@+id/ItemText"  
    />  
    <Button android:id="@+id/view_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/delete_medicine"
/>
</RelativeLayout> 

效果如图:






在edittext中输入文字后,点击添加,会在listview中显示出来。





点击删除,则选中的信息会删除。



listciew删除功能的实现:

medicineactivity

public class Followup_Highboold extends Activity  {

//大致过程:

*************************全局变量

String medicineName,medicinetime,medicinedmg;
int medicineNO=0;
List<MkMedicalUseDto> medicaldtolist = new ArrayList<MkMedicalUseDto>();
ArrayList<HashMap<String, Object>>
listItem = new ArrayList<HashMap<String, Object>>(); 
MyAdapter listItemAdapter = null; 
MkMedicalUseDto dto = new MkMedicalUseDto();
ListView list;

************************************添加按钮

list = (ListView) findViewById(R.id.ListView01);

addmedicinebutton=(Button) findViewById(R.id.addmedicinebutton);

addmedicinebutton.setOnClickListener(viewOnClickListener);

*******点击添加时的相应事件

private OnClickListener viewOnClickListener = new OnClickListener() {
@Override
public void onClick(View view) {

case R.id.addmedicinebutton:// 新增药物
medicineNO++;
medicineName=medicinename.getText().toString();
medicinetime=medicinenametime.getText().toString();
medicinedmg=medicinenamemg.getText().toString();
if(!medicineName.equals(""))
{
listViewByClick();
}

medicinename.setText("");
medicinenametime.setText("");
medicinenamemg.setText("");

}

******


//药物显示,listview

/**
* listview中点击删除按钮,则选中行可以删除
*/
public void showInfo(final int position){
new AlertDialog.Builder(this)
.setTitle("删除此药物")
.setMessage("是否删除?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

listItem.remove(position);      //真正实现删除此条选中的数据 
medicaldtolist.remove(position);//往后台传的过程,和此功能的实现无关
listItemAdapter.notifyDataSetChanged();//刷新listview,实现页面上的删除

}
})
.show();

}
public final class ViewHolder {  
       public TextView title;  
       public TextView info;  
       public Button viewBtn;  
   }  
public class MyAdapter extends BaseAdapter {  
 
       private LayoutInflater mInflater;  
 
       public MyAdapter(Context context) {  
           this.mInflater = LayoutInflater.from(context);  
       }  
 
       @Override  
       public int getCount() {  
           return listItem.size();  
       }  
 
       @Override  
       public Object getItem(int arg0) {  
           return null;  
       }  
 
       @Override  
       public long getItemId(int arg0) {  
           return 0;  
       }  
       @Override  
       public View getView(final int position, View convertView,  
               ViewGroup parent) {  
 
           // 通过Log.i()可以发现这个会多次调用,容易理解  
 
           ViewHolder holder = null;  
           if (convertView == null) {  


holder = new ViewHolder();


convertView = mInflater.inflate(R.layout.medicinelistview, null);
holder.title = (TextView) convertView.findViewById(R.id.ItemTitle);
holder.info = (TextView) convertView.findViewById(R.id.ItemText);
holder.viewBtn = (Button) convertView.findViewById(R.id.view_btn);
convertView.setTag(holder);
 
           } else {  
 
               holder = (ViewHolder) convertView.getTag();  
           }  
 
           holder.title.setText((String) listItem.get(position).get("mkDocrovMedicalName"));  
           holder.info.setText((String) listItem.get(position).get("mkDocrovMethod"));  
           holder.viewBtn.setOnClickListener(new OnClickListener() {  
               @Override  
               public void onClick(View v) {  
                   showInfo(position);  
               }  
           });  
           return convertView;  
       }  
   }  


public void
listViewByClick(){
        HashMap<String, Object> map = new HashMap<String, Object>();  
        map.put("mkDocrovMedicalName", "药物名称: "+medicineName);  
        map.put("mkDocrovMethod", "用  法:每日 "+medicinetime+"次,每次"+medicinedmg+"克");  
        listItem.add(0, map);  
     
  dto.setMkDocrovMedicalName(map.get("mkDocrovMedicalName").toString());//往后台传的过程,和此功能的实现无关
        dto.setMkDocrovMethod(map.get("mkDocrovMethod").toString());//往后台传的过程,和此功能的实现无关

        medicaldtolist.add(dto);//往后台传的过程,和此功能的实现无关
  
  //生成适配器的Item和动态数组对应的元素  
    /*SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//数据源   
        R.layout.medicinelistview,//ListItem的XML实现  
        //动态数组与ImageItem对应的子项          
        new String[] {"mkDocrovMedicalName", "mkDocrovMethod"},   
        //ImageItem的XML文件里面的一个ImageView,两个TextView ID  
        new int[] {R.id.ItemTitle,R.id.ItemText}  
    );  */
        listItemAdapter = new MyAdapter(this);  
        list.setAdapter(listItemAdapter);  //将listview中展示的信息显示在main.xml上

   
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值