精华内容
下载资源
问答
  • winform窗体中listview内动态添加button按钮类似驾校考试系统
  • 通过激发按钮的点击事件为ListView添加数据信息。具体是:每当点一次按钮就会ListView添加一条信息;当点击每一条信息时,会弹出一个“编辑”和“删除”的操作,这里只实现了简单的操作,具体需要什么业务操作,...
  • C# Winform ListView添加按钮

    热门讨论 2012-02-10 14:17:50
    C# 下重载ListView 添加按钮
  • ListView的Item设置按钮实现

    千次阅读 2018-05-15 11:51:08
    转自:...实际开发过,Item放置按钮后,ListView 单行选择背景颜色变化的效果没有了。 问题原因 ListView 和 其它能触发点击事件的widget无法一起正常工作的原...

    转自:http://www.cnblogs.com/macroxu-1982/archive/2012/07/11/2585618.html

    前言

        在项目的开发过程中,需要Listview的Item中包含按钮的效果。在实际开发过,Item中放置按钮后,ListView 单行选择背景颜色变化的效果没有了。

     

    问题原因

        ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽。

     

    目前网络上普遍的解决方式

    设置1  在Item的xml模板中设置 根布局 属性

     android:descendantFocusability= "blocksDescendants"

     

    如下:

    < RelativeLayout>

    android:descendantFocusability= "blocksDescendants"

     

    设置2 在按钮控件<ImageButton>中设置属性

     

    android:focusable = "false"

    补充:这种设置后,点击按钮,整条Item都响应点击效果,显示的效果非我们需要的

     

    我们的需要的效果

    1 ListView的Item本身可以选择

    2 Item中的按钮可以随意点击,不会干扰Item

     

    实现的过程

     在ListView中用图片控件,或者文本控件,来代替图片按钮和普通按钮,并在Adapter中设置点击事件就可以

     如例:

     

    复制代码
    //根据数据项,设置点击文本框的文字,并设置点击事件
            TextView txt_Remember=(TextView)convertView.findViewById(R.id.txt_Remember);
            
            txt_Remember.setOnClickListener(new  TextView.OnClickListener()
            {
                public void onClick(View v){
                    LibListViewAdapter.this.remove(LibListViewAdapter.this.getItem(1));
                    
                }
            });
    展开全文
  • 本篇文章主要介绍了android为ListView每个Item上面的按钮添加事件,有兴趣的同学可以了解一下。
  • 实现了ListView添加图片、按钮并添加了ListView跟Button 的双监听,Button实现的是Activity的跳转
  • 在ListView中实现button功能

    千次阅读 2018-10-25 15:02:23
    /创建名为my_listview的xml视图 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

    /创建名为my_listview的xml视图

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

    /创建名为MyListView的java文件
    新建adapter对象

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_listview);
        ListView listview = (ListView) findViewById(R.id.list_view_2);;
        MyAdapter adapter = new MyAdapter(this,getData(),R.layout.item,
                new String[]{"image", "name", "size", "button"},
                new int[]{R.id.image, R.id.name, R.id.size, R.id.button});
                listview.setAdapter(adapter);
                listview.setOnItemClickListener(new ListView.OnItemClickListener(){
    
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(MyListView.this,"我是item点击事件 i = " + i + "l = " + l,Toast.LENGTH_SHORT).show();
            }
        });
    }
        private ArrayList<Map<String,Object>> getData() {
            ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
            Map<String, Object> map;
            map = new HashMap<String, Object>();
            map.put("image", R.drawable.log);
            map.put("name", "王者农药");
            map.put("size", "30dp");
            map.put("button", "下载");
            data.add(map);
            map = new HashMap<String, Object>();
            map.put("image", R.drawable.log2);
            map.put("name", "吃鸡战场");
            map.put("size", "30dp");
            map.put("button", "下载");
            data.add(map);
            map = new HashMap<String, Object>();
            map.put("image", R.drawable.log3);
            map.put("name", "氪金");
            map.put("size", "30dp");
            map.put("button", "下载");
            data.add(map);
            return data;
    
        }
    

    创建名为item的xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:descendantFocusability="blocksDescendants">
        <ImageView
            android:id="@+id/image"
            android:src="@drawable/log"
            android:layout_width="70dp"
            android:layout_height="70dp"
            />
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="5dp"
            android:layout_weight="3">
            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="2dp"
                android:textColor="#130000"
                android:textSize="18dp"/>
            <TextView
                android:id="@+id/size"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_marginLeft="5dp"
                android:textColor="#93851f"
                android:text="65M"
                android:textSize="20dp"/>
        </LinearLayout>
        <Button
            android:layout_weight="1"
            android:id="@+id/button"
            android:layout_marginTop="12dp"
            android:layout_width="20dp"
            android:layout_height="40dp"
            android:text="下载"
            android:textSize="20dp"/>
    </LinearLayout>
    
    

    创建名为MyAdapter的java文件
    通过设置标签获得不同按钮从而实现不同点击事件

    public class MyAdapter extends SimpleAdapter {
        //上下文
        Context context ;
        public MyAdapter(Context context,
                               List<? extends Map<String, ?>> data, int resource, String[] from,
                               int[] to) {
            super(context, data, resource, from, to);
            this.context = context;
        }
            @Override
            public View getView(final int i, View convertView, ViewGroup viewGroup){
                View view = super.getView(i, convertView, viewGroup);
                final Button btn = (Button) view.findViewById(R.id.button);
                btn.setTag(i);//设置标签
                btn.setOnClickListener(new android.view.View.OnClickListener() {
    
                    @Override
                    public void onClick(View v) {
                        switch ((Integer)v.getTag()){
                            case 0:
                                Toast.makeText(getApplicationContext(), "点击的是ImageButton" + v.getTag(), Toast.LENGTH_SHORT).show();
                                break;
                            case 1:
                                Toast.makeText(getApplicationContext(), "hi" + v.getTag(), Toast.LENGTH_SHORT).show();
                                break;
                            case 2:
                                Toast.makeText(getApplicationContext(), "gey" + v.getTag(), Toast.LENGTH_SHORT).show();
                                break;
                        }
                    }
                });
                return view;
            }
    

    在这里插入图片描述

    展开全文
  • Android为ListView的item添加按钮控件

    千次阅读 2014-05-24 19:01:59
    这里仅供测试,我把数据都写死了,根据需要可以自己进行修改,此外实现ListView上面每个Item上的Button的事件有两种方法: 1.使用final变量扩展局部变量的生命周期范围主要代码(本文最后附全部代码): ...

    1.先看下效果图:

          

    在这里仅供测试,我把数据都写死了,根据需要可以自己进行修改,此外实现ListView上面每个Item上的Button的事件有两种方法:

    1.使用final变量扩展局部变量的生命周期范围主要代码(本文最后附全部代码):

    [java]  view plain copy
    1. //注意原本getView方法中的int position变量是非final的,现在改为final  
    2.         @Override  
    3.         public View getView(final int position, View convertView, ViewGroup parent) {  
    4.              ViewHolder holder = null;  
    5.             if (convertView == null) {  
    6.                   
    7.                 holder=new ViewHolder();    
    8.                   
    9.                 //可以理解为从vlist获取view  之后把view返回给ListView  
    10.                 convertView = mInflater.inflate(R.layout.vlist, null);  
    11.                 holder.title = (TextView)convertView.findViewById(R.id.title);  
    12.                 holder.info = (TextView)convertView.findViewById(R.id.info);  
    13.                 holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn);  
    14.                 convertView.setTag(holder);               
    15.             }else {               
    16.                 holder = (ViewHolder)convertView.getTag();  
    17.             }         
    18.               
    19.             holder.title.setText((String)mData.get(position).get("title"));  
    20.             holder.info.setText((String)mData.get(position).get("info"));  
    21.             holder.viewBtn.setTag(position);  
    22.             //给Button添加单击事件  添加Button之后ListView将失去焦点  需要的直接把Button的焦点去掉  
    23.             holder.viewBtn.setOnClickListener(new View.OnClickListener() {  
    24.                   
    25.                 @Override  
    26.                 public void onClick(View v) {  
    27.                     showInfo(position);                   
    28.                 }  
    29.             });  
    30.               
    31.             //holder.viewBtn.setOnClickListener(MyListener(position));  
    32.                       
    33.             return convertView;  
    34.         }  
    35.     }  
    36.       
    37.     //提取出来方便点  
    38.     public final class ViewHolder {  
    39.         public TextView title;  
    40.         public TextView info;  
    41.         public Button viewBtn;  
    42.     }  
    43.     public void showInfo(int position){  
    44.           
    45.         ImageView img=new ImageView(ListViewActivity.this);  
    46.         img.setImageResource(R.drawable.b);  
    47.         new AlertDialog.Builder(this).setView(img)  
    48.         .setTitle("详情"+position)  
    49.         .setMessage("菜名:"+title[position]+"   价格:"+info[position])  
    50.         .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
    51.             @Override  
    52.             public void onClick(DialogInterface dialog, int which) {  
    53.             }  
    54.         })  
    55.         .show();  
    56.     }  
    57.       







    2.使用类记录每个Button的位置,使每个BUTTON都有自己的Listener主要代码:



    [java]  view plain copy
    1. //****************************************第二种方法,高手一般都用此种方法,具体原因,我还不清楚,有待研究  
    2.       
    3.         public View getView(int position, View convertView, ViewGroup parent) {  
    4.              ViewHolder holder = null;  
    5.              MyListener myListener=null;  
    6.             if (convertView == null) {  
    7.                   
    8.                 holder=new ViewHolder();    
    9.                   
    10.                 //可以理解为从vlist获取view  之后把view返回给ListView  
    11.                  myListener=new MyListener(position);  
    12.                      
    13.                 convertView = mInflater.inflate(R.layout.vlist, null);  
    14.                 holder.title = (TextView)convertView.findViewById(R.id.title);  
    15.                 holder.info = (TextView)convertView.findViewById(R.id.info);  
    16.                 holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn);  
    17.                 convertView.setTag(holder);               
    18.             }else {               
    19.                 holder = (ViewHolder)convertView.getTag();  
    20.             }         
    21.               
    22.             holder.title.setText((String)mData.get(position).get("title"));  
    23.             holder.info.setText((String)mData.get(position).get("info"));  
    24.             holder.viewBtn.setTag(position);  
    25.             //给Button添加单击事件  添加Button之后ListView将失去焦点  需要的直接把Button的焦点去掉  
    26.             holder.viewBtn.setOnClickListener( myListener);  
    27.               
    28.             //holder.viewBtn.setOnClickListener(MyListener(position));  
    29.                       
    30.             return convertView;  
    31.         }  
    32.     }  
    33.       
    34.      private class MyListener implements OnClickListener{  
    35.             int mPosition;  
    36.             public MyListener(int inPosition){  
    37.                 mPosition= inPosition;  
    38.             }  
    39.             @Override  
    40.             public void onClick(View v) {  
    41.                 // TODO Auto-generated method stub  
    42.                 Toast.makeText(ListViewActivity.this, title[mPosition], Toast.LENGTH_SHORT).show();  
    43.             }  
    44.               
    45.         }  
    46.   
    47.       
    48.       
    49.       
    50.       
    51.       
    52.       
    53.       
    54.       
    55.       
    56.     //提取出来方便点  
    57.     public final class ViewHolder {  
    58.         public TextView title;  
    59.         public TextView info;  
    60.         public Button viewBtn;  
    61.     }  



    3.全部代码

    1.ListViewActivity.java全部代码:

    [java]  view plain copy
    1. package ms.ListView;  
    2.   
    3. import java.util.ArrayList;  
    4. import java.util.HashMap;  
    5. import java.util.List;  
    6. import java.util.Map;  
    7.   
    8. import android.app.Activity;  
    9. import android.app.AlertDialog;  
    10. import android.content.Context;  
    11. import android.content.DialogInterface;  
    12. import android.os.Bundle;  
    13. import android.view.LayoutInflater;  
    14. import android.view.View;  
    15. import android.view.View.OnClickListener;  
    16. import android.view.ViewGroup;  
    17. import android.widget.AdapterView;  
    18. import android.widget.AdapterView.OnItemSelectedListener;  
    19. import android.widget.BaseAdapter;  
    20. import android.widget.Button;  
    21. import android.widget.ImageView;  
    22. import android.widget.ListView;  
    23. import android.widget.TextView;  
    24. import android.widget.Toast;  
    25.   
    26. public class ListViewActivity extends Activity {  
    27.     /** Called when the activity is first created. */  
    28.     private List<Map<String, Object>> mData;  
    29.     private int flag;  
    30.     public static String title[]=new String[]{"菜名0","菜名1","菜名2","菜名3","菜名4","菜名5","菜名6","菜名7","菜名8","菜名9"};  
    31.     public static String info[]=new String[]{ "¥:28","¥:28","¥:28","¥:28","¥:28","¥:28","¥:28","¥:28","¥:28","¥:28",};  
    32.       
    33.   
    34.     @Override  
    35.     public void onCreate(Bundle savedInstanceState) {  
    36.         super.onCreate(savedInstanceState);  
    37.         setContentView(R.layout.main);  
    38.         mData = getData();  
    39.         ListView listView = (ListView) findViewById(R.id.listView);  
    40.         MyAdapter adapter = new MyAdapter(this);  
    41.         listView.setAdapter(adapter);  
    42.           
    43.           
    44.     }  
    45.   
    46.   
    47.   
    48.     //获取动态数组数据  可以由其他地方传来(json等)  
    49.     private List<Map<String, Object>> getData() {  
    50.         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
    51. for(int i=0;i<title.length;i++){  
    52.         Map<String, Object> map = new HashMap<String, Object>();  
    53.         map.put("title", title[i]);  
    54.         map.put("info", info[i]);  
    55.         list.add(map);  
    56. }  
    57.   
    58.         return list;  
    59.     }  
    60.   
    61.     public class MyAdapter extends BaseAdapter {  
    62.   
    63.         private LayoutInflater mInflater;  
    64.   
    65.         public MyAdapter(Context context) {  
    66.             this.mInflater = LayoutInflater.from(context);  
    67.         }  
    68.   
    69.         @Override  
    70.         public int getCount() {  
    71.             // TODO Auto-generated method stub  
    72.             return mData.size();  
    73.         }  
    74.   
    75.         @Override  
    76.         public Object getItem(int position) {  
    77.             // TODO Auto-generated method stub  
    78.             return null;  
    79.         }  
    80.   
    81.         @Override  
    82.         public long getItemId(int position) {  
    83.             // TODO Auto-generated method stub  
    84.             return 0;  
    85.         }  
    86.         //****************************************final方法  
    87. //注意原本getView方法中的int position变量是非final的,现在改为final  
    88.         @Override  
    89.         public View getView(final int position, View convertView, ViewGroup parent) {  
    90.              ViewHolder holder = null;  
    91.             if (convertView == null) {  
    92.                   
    93.                 holder=new ViewHolder();    
    94.                   
    95.                 //可以理解为从vlist获取view  之后把view返回给ListView  
    96.                   
    97.                 convertView = mInflater.inflate(R.layout.vlist, null);  
    98.                 holder.title = (TextView)convertView.findViewById(R.id.title);  
    99.                 holder.info = (TextView)convertView.findViewById(R.id.info);  
    100.                 holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn);  
    101.                 convertView.setTag(holder);               
    102.             }else {               
    103.                 holder = (ViewHolder)convertView.getTag();  
    104.             }         
    105.               
    106.             holder.title.setText((String)mData.get(position).get("title"));  
    107.             holder.info.setText((String)mData.get(position).get("info"));  
    108.             holder.viewBtn.setTag(position);  
    109.             //给Button添加单击事件  添加Button之后ListView将失去焦点  需要的直接把Button的焦点去掉  
    110.             holder.viewBtn.setOnClickListener(new View.OnClickListener() {  
    111.                   
    112.                 @Override  
    113.                 public void onClick(View v) {  
    114.                     showInfo(position);                   
    115.                 }  
    116.             });  
    117.               
    118.             //holder.viewBtn.setOnClickListener(MyListener(position));  
    119.                       
    120.             return convertView;  
    121.         }  
    122.     }  
    123.         //****************************************第二种方法,高手一般都用此种方法,具体原因,我还不清楚,有待研究  
    124.       
    125. //      public View getView(int position, View convertView, ViewGroup parent) {  
    126. //           ViewHolder holder = null;  
    127. //           MyListener myListener=null;  
    128. //          if (convertView == null) {  
    129. //                
    130. //              holder=new ViewHolder();    
    131. //                
    132. //              //可以理解为从vlist获取view  之后把view返回给ListView  
    133. //               myListener=new MyListener(position);  
    134. //                   
    135. //              convertView = mInflater.inflate(R.layout.vlist, null);  
    136. //              holder.title = (TextView)convertView.findViewById(R.id.title);  
    137. //              holder.info = (TextView)convertView.findViewById(R.id.info);  
    138. //              holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn);  
    139. //              convertView.setTag(holder);               
    140. //          }else {               
    141. //              holder = (ViewHolder)convertView.getTag();  
    142. //          }         
    143. //            
    144. //          holder.title.setText((String)mData.get(position).get("title"));  
    145. //          holder.info.setText((String)mData.get(position).get("info"));  
    146. //          holder.viewBtn.setTag(position);  
    147. //          //给Button添加单击事件  添加Button之后ListView将失去焦点  需要的直接把Button的焦点去掉  
    148. //          holder.viewBtn.setOnClickListener( myListener);  
    149. //            
    150. //          //holder.viewBtn.setOnClickListener(MyListener(position));  
    151. //                    
    152. //          return convertView;  
    153. //      }  
    154. //  }  
    155. //    
    156. //   private class MyListener implements OnClickListener{  
    157. //          int mPosition;  
    158. //          public MyListener(int inPosition){  
    159. //              mPosition= inPosition;  
    160. //          }  
    161. //          @Override  
    162. //          public void onClick(View v) {  
    163. //              // TODO Auto-generated method stub  
    164. //              Toast.makeText(ListViewActivity.this, title[mPosition], Toast.LENGTH_SHORT).show();  
    165. //          }  
    166. //            
    167. //      }  
    168. //  
    169. //    
    170.       
    171.       
    172.       
    173.       
    174.       
    175.       
    176.       
    177.       
    178.     //提取出来方便点  
    179.     public final class ViewHolder {  
    180.         public TextView title;  
    181.         public TextView info;  
    182.         public Button viewBtn;  
    183.     }  
    184.     public void showInfo(int position){  
    185.           
    186.         ImageView img=new ImageView(ListViewActivity.this);  
    187.         img.setImageResource(R.drawable.b);  
    188.         new AlertDialog.Builder(this).setView(img)  
    189.         .setTitle("详情"+position)  
    190.         .setMessage("菜名:"+title[position]+"   价格:"+info[position])  
    191.         .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
    192.             @Override  
    193.             public void onClick(DialogInterface dialog, int which) {  
    194.             }  
    195.         })  
    196.         .show();  
    197.     }  
    198.       
    199.       
    200. }  

    2.main.xml

    [html]  view plain copy
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:layout_width="fill_parent"  
    4.     android:layout_height="fill_parent"  
    5.     android:orientation="vertical" >  
    6.   
    7.     <ListView   
    8.         android:id="@+id/listView"  
    9.         android:layout_width="fill_parent"  
    10.         android:layout_height="fill_parent"  
    11.         android:divider="@drawable/list_line"  
    12.         android:dividerHeight="1dip" />  
    13.   
    14. </LinearLayout>  

    3.vlist.xml

    [html]  view plain copy
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:layout_width="fill_parent"  
    4.     android:layout_height="fill_parent"  
    5.     android:orientation="vertical" >  
    6.   
    7.     <ListView   
    8.         android:id="@+id/listView"  
    9.         android:layout_width="fill_parent"  
    10.         android:layout_height="fill_parent"  
    11.         android:divider="@drawable/list_line"  
    12.         android:dividerHeight="1dip" />  
    13.   
    14. </LinearLayout>  

    4.btn_detail_selecter.xml

    [html]  view plain copy
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
    3.   
    4.     <item android:drawable="@drawable/btn_detail_normal" android:state_enabled="true" android:state_focused="false" android:state_pressed="false"/>  
    5.     <item android:drawable="@drawable/btn_detail_pressed" android:state_enabled="true" android:state_pressed="true"/>  
    6.     <item android:drawable="@drawable/btn_detail_pressed" android:state_enabled="true" android:state_focused="true"/>  
    7.   
    8. </selector>  

    5.item.xml

    [html]  view plain copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
    3.   
    4.     <item android:drawable="@drawable/item_higlight" android:state_focused="true" android:state_pressed="false"/>  
    5.     <item android:drawable="@drawable/item_higlight" android:state_focused="false" android:state_pressed="true"/>  
    6.     <item android:drawable="@drawable/item_higlight" android:state_selected="true"/>  
    7.     <item android:drawable="@drawable/item_higlight" android:state_focused="true"/>  
    8.     <item android:drawable="@drawable/item_higlight"/>  
    9.   
    10. </selector>  


    6.colors.xml

    [html]  view plain copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <resources>  
    3.     <color name="region">#8000ff00</color>  
    4.     <color name="listTitle">#ff23323b</color>  
    5.     <color name="text">#ff848f9b</color>  
    6.     <color name="write">#ffffffff</color>  
    7. </resources>  

    7.values.xml

    [html]  view plain copy
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <resources>  
    3.   
    4.     <string name="hello">Hello World, ListViewActivity!</string>  
    5.     <string name="app_name">ListView</string>  
    6.   
    7. </resources>  

    8.drawables.xml

    [html]  view plain copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <resources>  
    3.     <item type="drawable" name="bg">#80000000</item>  
    4.     <item type="drawable" name="transparent">#00000000</item>  
    5.     <item type="drawable" name="lightblue">#ffcfe1ed</item>  
    6.     <item type="drawable" name="readmenu_btn_bg_f">#30ffffff</item>  
    7.     <item type="drawable" name="readmenu_btn_bg_p">#50ffffff</item>  
    8.     <item type="drawable" name="blackMask">#30000000</item>  
    9. </resources>  
    展开全文
  • Android ListView每个Item上面的有TextView和Button,为ListView每个Item上面的按钮添加事件,并获取TextView文本信息。
  • listview添加按钮

    2014-08-17 20:56:10
    很简单的一个listview的显示,有一个添加按钮
  • 按钮listview添加监听

    热门讨论 2012-07-30 08:16:13
    在listview中添加按钮,并监听相应事件,可以加上自己的方法。
  • 困扰了我好久,今天终于把它解决了。 需求是点击添加按钮ListView增加一个Item,Item里面有一个按钮和一个EditText,点击按钮删除此item。
  • 学习C#的winform开发时,想一个ListView控件中添加一些自定义的按钮、输入框、进度条等,发现和Qt开发比想来真的很吃力。 解决方法: 然而自己简单实现了,把它打包为一个nupkg包,可以直接调用; 效果: ...

    在学习C#的winform开发时,想在一个ListView控件中添加一些自定义的按钮、输入框、进度条等,发现和Qt开发比想来真的很吃力。

     

    解决方法:

    然而自己简单实现了,把它打包为一个nupkg包,可以直接调用;

     

    效果:

    C#在ListView中使用按钮、输入框、进度条等控件.png

     

    使用部分的代码

    using Jues.CustomListItemView;
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using static System.Windows.Forms.ListViewItem;
    
    namespace Demo
    {
        public partial class Form1 : Form
        {
            private CustomControl customControl;
            public Form1()
            {
                InitializeComponent();
    
                customControl = new CustomControl(this.listView1);
    
                toolStripButtonAdd_Click(null, null);
            }
    
            private void toolStripButtonAdd_Click(object sender, EventArgs e)
            {
                ListViewItem listViewItem = new ListViewItem();
    
                // name 
                listViewItem.Text = String.Format("jues {0}",this.listView1.Items.Count+1);
    
                this.listView1.Items.Add(listViewItem);
    
                // TextBox
                TextBox textBox = new TextBox();
                textBox.Text = String.Format("textBox {0}", this.listView1.Items.Count + 1);
                customControl.Insert( this.columnHeaderTextBox.Index, listViewItem, textBox);
    
                // ComboBox
                ComboBox comboBox = new ComboBox();
                comboBox.Items.Add("Baby");
                comboBox.Items.Add("Young");
                comboBox.Items.Add("Old");
                customControl.Add(listViewItem, comboBox);
    
                comboBox.SelectedIndex = this.listView1.Items.Count % comboBox.Items.Count;
    
                // progressBar
                ProgressBar progressBar = new ProgressBar();
                progressBar.Maximum = 10;
                progressBar.Value = this.listView1.Items.Count % progressBar.Maximum;
                customControl.Add(listViewItem, progressBar);
    
                // Button
                Button button = new Button();
                button.Text = "Delete";
                ListViewSubItem buttonSubItem = customControl.Add(listViewItem, button);
                button.Click += delegate (object sender1, EventArgs e1)
                {
                    customControl.Remove(listViewItem);
                    // this.listView1.Items.Remove(listViewItem);
                };
            }
    
           
        }
    }

     

    nupkg包

    CustomListItemView.0.0.1.zip

    展开全文
  • Android某些开发需求当中,有时候需要listveiw加入checkbox实现单选,多选操作。
  • 1、这个主要是针对于考试类程序用的,比如其中如何向ListView中动态添加多个RadioButton单选题选项以及多个CheckBox多选题选项,另外,多个填空题的话,也可以用类似的方法整。 2、解决ListView中添加Button、...
  • ListView后方加Button控件(超级简单)

    千次阅读 2020-05-16 16:08:30
    楼主是想完成一个“新建地址”的功能,编写LIstView的时候,想做到一个新建按钮始终在ListView控件的后方,尝试过各种布局把Button控件放到ListView后面都没有成功,只要ListView超出了当前父布局的位置,那么就...
  • QQ空间的说说评论和点赞其实就是相当于两个按钮。一般实现这两个按钮的点击事件归结为一种思想---接口回调。具体实现的话有两种方法,一中是通过实现接口方法,一中是通过实 现抽象方法
  • private Button btn = new Button(); private void Form1_Load(object sender, EventArgs e) { ListViewItem[] lvs = new ListViewItem[3]; ...
  • Android里ListView里面添加CheckBox实现多选,用上ViewHolder和ConvertView
  • [WinForm]C# Listview中添加Button

    千次阅读 2016-07-27 15:52:31
    [WinForm]C# Listview中添加Button本程序实现的效果是当鼠标点击控件的一行,所选行的末尾出现一个button按钮,并为button按钮添加响应事件 工程准备 首先我们创建一个C#的窗体应用程序,起名WFAListViewBtn. 控件...
  • 我的listview在lose_book_list这个activity文件lose_book_item设置它的显示条目item。 我的button写lose_book_item,当运行之后,每个条目上都会显示有一个button如下图: lose_book_list的详细...
  • ListView添加全选按钮

    2019-06-05 17:14:29
    通过点击全选按钮将整个列表进行全选或取消 ...ListView Name="ListView" HorizontalAlignment="Left" Height="200" Margin="90,155,0,0" VerticalAlignment="Top" Width="175" > <ListView.View> ...
  • http://tech.cncms.com/shouji/android/41281_2.html
  • 最简单的listview动态添加、删除带edittext的item例子,有需要的可以看看,我也是别人的基础上改的。。。。。
  • ListView Name="list1" HorizontalAlignment="Left" Height="108" Margin="79,55,0,0" VerticalAlignment="Top" Width="263" ItemsSource="{...
  • 1.先定义结构:type PItemCtrl = ^TItemCtrl; TItemCtrl = record viewCheckBox: TCheckBox; markCheckBox: TCheckBox;...在listview的CustomDrawSubItem事件写如下代码;var Rect: TRect; P...
  • 动态添加、移除ListView的itemView!非常流畅哦

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,081
精华内容 11,632
关键字:

如何在listview中添加按钮