广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    android ListView内数据的动态添加与删除实例代码

    2018-04-06 10:41:32 次阅读 稿源:互联网
    广告

    main.xml 文件: 

    代码如下:

    <?xml version="1.0" encoding="utf-8"?> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

         android:layout_width="fill_parent" 

         android:layout_height="fill_parent" 

         android:orientation="horizontal"  

         > 

         <LinearLayout 

           android:layout_width="fill_parent" 

          android:layout_height="fill_parent"    

          android:orientation="vertical" 

          > 

         <ListView  

          android:id="@+id/listview"     

          android:layout_width="fill_parent" 

          android:layout_height="wrap_content" 

         /> 

         <Button  

          android:id="@+id/add"     

          android:layout_width="wrap_content" 

          android:layout_height="wrap_content"  

          android:text="添加" 

          /> 

         </LinearLayout> 

     </LinearLayout>

    listview_item.xml文件:
    代码如下:

     <?xml version="1.0" encoding="utf-8"?> 

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

         android:layout_width="fill_parent" 

         android:layout_height="wrap_content" 

         android:orientation="horizontal" 

         android:background="#000000" 

         android:padding="20dp" 

         > 

            

         <EditText 

         android:id="@+id/edit" 

         android:layout_width="200dp" 

         android:layout_height="wrap_content" 

         /> 

         <Button 

         android:id="@+id/del" 

         android:layout_width="wrap_content" 

         android:layout_height="wrap_content"    

         android:text="删除" 

         /> 

            

     </LinearLayout>

    MainActivity .java
    代码如下:

     package com.yyy.testandroid; 

        
    import java.util.ArrayList; 
        

    import android.app.Activity; 

    import android.content.Context; 

    import android.os.Bundle; 

    import android.view.LayoutInflater; 

    import android.view.View; 

    import android.view.View.OnClickListener; 

    import android.view.View.OnFocusChangeListener; 

    import android.view.ViewGroup; 

     import android.widget.BaseAdapter; 

     import android.widget.Button; 

     import android.widget.EditText; 

     import android.widget.ListView; 

     import android.widget.TextView; 

        

     public class TestAndroidActivity extends Activity { 

         /** Called when the activity is first created. */ 

            

         private Button button,add; 

         private TextView text; 

         private ListView listview; 

         public MyAdapter adapter; 

         @Override 

         public void onCreate(Bundle savedInstanceState) { 

             super.onCreate(savedInstanceState); 

             setContentView(R.layout.main); 

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

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

             adapter = new MyAdapter(this); 

             listview.setAdapter(adapter); 

                

             add.setOnClickListener(new OnClickListener() { 

                 @Override 

                 public void onClick(View arg0) { 

                     // TODO Auto-generated method stub 

                     adapter.arr.add(""); 

                     adapter.notifyDataSetChanged(); 

                 } 

             }); 

         } 
     

         private class MyAdapter extends BaseAdapter { 

        

             private Context context; 

             private LayoutInflater inflater; 

             public ArrayList<String> arr; 

             public MyAdapter(Context context) { 

                 super(); 

                 this.context = context; 

                 inflater = LayoutInflater.from(context); 

                 arr = new ArrayList<String>(); 

                 for(int i=0;i<3;i++){    //listview初始化3个子项 

                     arr.add(""); 

                 } 

             } 

             @Override 

             public int getCount() { 

                 // TODO Auto-generated method stub 

                 return arr.size(); 

             } 

             @Override 

             public Object getItem(int arg0) { 

                 // TODO Auto-generated method stub 

                 return arg0; 

             } 

             @Override 

             public long getItemId(int arg0) { 

                 // TODO Auto-generated method stub 

                 return arg0; 

             } 

             @Override 

             public View getView(final int position, View view, ViewGroup arg2) { 

                 // TODO Auto-generated method stub 

                 if(view == null){ 

                     view = inflater.inflate(R.layout.list_item, null); 

                 } 

                 final EditText edit = (EditText) view.findViewById(R.id.edit); 

                 edit.setText(arr.get(position));    //在重构adapter的时候不至于数据错乱 

                 Button del = (Button) view.findViewById(R.id.del); 

                 edit.setOnFocusChangeListener(new OnFocusChangeListener() { 

                     @Override 

                     public void onFocusChange(View v, boolean hasFocus) { 

                         // TODO Auto-generated method stub 

                         if(arr.size()>0){ 

                             arr.set(position, edit.getText().toString()); 

                         } 

                     } 

                 }); 

                 del.setOnClickListener(new OnClickListener() { 

                     @Override 

                     public void onClick(View arg0) { 

                         // TODO Auto-generated method stub 

                         //从集合中删除所删除项的EditText的内容 

                         arr.remove(position); 

                         adapter.notifyDataSetChanged(); 

                     } 

                 }); 

                 return view; 

             } 

         } 

     }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告