动态添加单击事件android_android 动态添加textview 点击事件 - CSDN
  • 先看看效果有时候,你不知道需求里面有几个View,要根据后台传的个数来动态添加撸代码因为是可以横向滑动的,所有我用一个HorizontalScrollView包裹一个LinearLayout,在LinearLayout里面动态add需要的View布局文件 ...

    先看看效果这里写图片描述

    有时候,你不知道需求里面有几个View,要根据后台传的个数来动态添加

    撸代码

    因为是可以横向滑动的,所有我用一个HorizontalScrollView包裹一个LinearLayout,在LinearLayout里面动态add需要的View

    布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorPrimary"
        android:orientation="vertical"
        tools:context="duanlian.dynamicaddviewdemo.MainActivity">
        <HorizontalScrollView
            android:layout_width="match_parent"
            android:scrollbars="none"
            android:layout_height="wrap_content">
    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="wrap_content"/>
        </HorizontalScrollView>
        <ImageView
            android:layout_width="match_parent"
            android:background="@mipmap/ic_launcher"
            android:layout_height="match_parent" />
    </LinearLayout>
    

    然后就是创建你要动态添加的View,如果是单一的一个控件,就不用在去创建一个xml文件,直接new 出来就行了,我写的demo里面有2个控件,所有创建一个xml文件,里面是你要add的单个view

    <?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="vertical"
    
        android:paddingTop="15dp">
    
        <ImageView
            android:id="@+id/iv_logo"
            android:layout_width="54dp"
            android:layout_height="54dp"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="17dp"
            android:layout_marginRight="17dp"
            android:scaleType="centerCrop" />
    
        <TextView
            android:id="@+id/tv_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="8dp"
            android:text=""
            android:textColor="#ffff"
            android:textSize="14sp" />
    </LinearLayout>

    然后就是代码里面操作了

    首先find容器,创建两个集合,一个是装图片,一个是装标题的,在实际开发中这两个集合里面的数据肯定是在服务器上面请求过来的,我这里是模拟请求的数据

     private void initView() {
            //要添加view的容器
            mLinear = (LinearLayout) findViewById(R.id.linear);
            ivList = new ArrayList<>();
            titleList = new ArrayList<>();
    
        }
    
        /**
         * 处理数据,可以是服务器请求过来的,也可以是本地的
         */
        private void initData() {
            for (int i = 0; i < iv.length; i++) {
                ivList.add(iv[i]);
                titleList.add("第" + i + "个");
            }
            //数据拿到之后去根据数据去动态添加View
            addView();
        }

    这是成员变量

    private LinearLayout mLinear;
        private List<String> titleList;//放置标题的集合
        private List<Integer> ivList;//放logo的集合
        private int[] iv = {R.drawable.bat,R.drawable.bear,R.drawable.bee,R.drawable.butterfly,R.drawable.cat,R.drawable.deer,
        R.drawable.dolphin,R.drawable.eagle,R.drawable.horse,R.drawable.jellyfish,R.drawable.owl,R.drawable.peacock,
        R.drawable.pig,R.drawable.rat,R.drawable.snake,R.drawable.squirrel};

    接下来是动态添加的具体逻辑.注释很明白

     /**
         * 动态添加的具体实现
         */
        private void addView() {
            //ivList集合有几个元素就添加几个
            for (int i = 0; i < ivList.size(); i++) {
                //首先引入要添加的View
                View view = View.inflate(this, R.layout.item_channel, null);
                //找到里面需要动态改变的控件
                ImageView ivLogo = (ImageView) view.findViewById(R.id.iv_logo);
                TextView tvTitle = (TextView) view.findViewById(R.id.tv_title);
                //给控件赋值
                ivLogo.setImageResource(ivList.get(i));
                tvTitle.setText(titleList.get(i));
                /*
                动态给每个View设置margin,也可以在xml里面设置,xml里面设置后每个view之间的间距都是一样的
                动态设置可以给每个view之间的间距设置的不一样 params.setMargins(int left, int top, int right, int bottom);
                 */
    //            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams
    //                    (LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
    //            view.setLayoutParams(params);
    //            params.setMargins(24,0,24,0);
    //            view.setTag(i);
                //设置每个View的点击事件
                final int finalI = i;//由于OnClick里面拿不到i,所以需要重新赋值给一个final对象
                view.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(MainActivity.this, "点击了"+titleList.get(finalI), Toast.LENGTH_SHORT).show();
                    }
                });
                //把所有动态创建的view都添加到容器里面
                mLinear.addView(view);
            }
    
        }

    还有不明白可以下载demo看看,点击下载

    展开全文
  • Android开发,动态添加标签,并处理了标签的点击事件

    在做Android开发的时候,会遇到动态添加标签让用户选择的功能,所以自己写了个例子,运行效果图如下。


    标签可以左右滑动进行选择,点击的时候,会弹出toast提示选择或者取消选择了哪个标签。通过动态添加TextView作为标签,并给TextView设置背景,通过selector选择器改变其背景颜色,来确定是否处于选中状态。


    代码如下所示:


    1、标签的布局文件,我在标签里只设置了一个TextView

    <?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="match_parent"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@drawable/mark_select"
            android:enabled="false"
            android:padding="10dp"
            android:text="TextView" />
    
    </LinearLayout>


    2、在res文件夹下新建drawable文件夹,标签的背景设为@drawable/mark_select,代码如下所示:
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        
        <item android:drawable="@drawable/mark_notbeselected" android:state_enabled="false"/>
        <item android:drawable="@drawable/mark_beselected" android:state_enabled="true"/>
    
    </selector>
    

    当标签处于选中状态,背景为@drawable/mark_beselected,当标签处于未选中状态,背景为@drawable/mark_notbeselected

    其中mark_notbeselected代码为:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <solid android:color="#ffffff" />
    
        <corners android:radius="3dip" />
    
        <stroke
            android:width="1dip"
            android:color="#1cb0ba" />
    
    </shape>
    mark_beselected代码为:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        
        <solid android:color="#1cb0ba" />
    
        <corners android:radius="3dip" />
    
        <stroke
            android:width="1dip"
            android:color="#1cb0ba" />
    
    </shape>
    

    3、主页面布局文件里包括一个水平滚动条HorizontalScrollView,代码如下:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <HorizontalScrollView
            android:id="@+id/horizontalScrollView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
    
            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal" >
            </LinearLayout>
        </HorizontalScrollView>
    
    </LinearLayout>

    4、MainActivity.java代码如下所示:
    public class MainActivity extends Activity {
    
    	List<String> list;
    	private LinearLayout linearLayout;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		linearLayout = (LinearLayout) findViewById(R.id.linearLayout1);
    		//添加标签内容
    		list = new ArrayList<String>();
    		for (int i = 0; i < 10; i++) {
    			String str = "标签" + i;
    			list.add(str);
    		}
    		//初始化标签
    		initMarksView();
    	}
    
    	private void initMarksView() {
    		for (int i = 0; i < list.size(); i++) {
    			View view = View.inflate(MainActivity.this, R.layout.mark_layout, null);
    			TextView tv = (TextView) view.findViewById(R.id.textView1);
    			tv.setText(list.get(i));
    			tv.setTag(i);
    			view.setTag(false);
    			// 设置view的点击事件,与onClick中的View一致
    			//否则需要在onClick中,去findViewById,找出设置点击事件的控件进行操作
    			//若不如此,则无法触发点击事件
    			view.setOnClickListener(new OnClickListener() {
    
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
    					TextView tv = (TextView) v.findViewById(R.id.textView1);
    					Log.i("dxl", "TextView click");
    					if ((Boolean) v.getTag()) {
    						v.setTag(false);
    						tv.setEnabled(false);
    						Toast.makeText(MainActivity.this, "你取消了选择标签" + tv.getTag(), Toast.LENGTH_SHORT).show();
    					} else {
    						v.setTag(true);
    						tv.setEnabled(true);
    						Toast.makeText(MainActivity.this, "你选择了标签" + tv.getTag(), Toast.LENGTH_SHORT).show();
    					}
    				}
    			});
    			linearLayout.addView(view);
    		}
    	}
    }
    

    至此,便实现了动态添加表情,并可以处理标签点击事件的功能。


    源代码下载:Android 动态添加标签及其点击事件


    展开全文
  • 需求:我们要点击进入一家...这些都是或多或少的,所以需要动态添加:  首先自定义View(linearLayout): package cn.qust.fang.widget; import io.vov.vitamio.MediaPlayer; import io.vov.vitamio.widget.MediaCont

             需求:我们要点击进入一家店铺,根据不同的店铺,显示不同条数的子条目 如:消毒间,洗菜间等。。。这些都是或多或少的,所以需要动态添加:

       首先自定义View(linearLayout):

    package cn.qust.fang.widget;
    
    import io.vov.vitamio.MediaPlayer;
    import io.vov.vitamio.widget.MediaController;
    import io.vov.vitamio.widget.VideoView;
    import android.app.Activity;
    import android.content.ContentResolver;
    import android.content.ContentValues;
    import android.content.Context;
    import android.net.Uri;
    import android.util.AttributeSet;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    import android.widget.Toast;
    import cn.qust.fang.CHANGLIANG.ChangLiang;
    import cn.qust.fang.DB.DBManager;
    import cn.qust.fang.domain.Shop;
    import cn.qust.fang.main.MvplayActivity123;
    import cn.qust.fang.main.R;
    
    public class RightTopChildsLayouts extends LinearLayout {
        Shop shop=null;
    	private TextView text_name_sub,textview_mvurl;
    	View view;
        MvplayActivity123 currentactivity;
        /**
         * 配菜间  消毒间什么的
         */
        String zi_name;
        /**\
         * 配菜间 消毒间的 的视频url
         */
        String zi_mvurl;
    	public RightTopChildsLayouts(Context context, AttributeSet attrs,
    			int defStyle) {
    		super(context, attrs, defStyle);
    		// TODO Auto-generated constructor stub
    	}
    //自定义构造函数
    	public RightTopChildsLayouts(MvplayActivity123 context,Shop shop,String zi_name,String zi_mvurl){
    		super(context );
    		
    	view = LayoutInflater.from(context).inflate(R.layout.sub_right_top, null);
    		text_name_sub=(TextView) view.findViewById(R.id.textview1);
    		/**
    		 * 存mv_url
    		 */
    		textview_mvurl=(TextView) view.findViewById(R.id.textview_gone);
    		//把获得的view加载到这个控件中
    		addView(view);
    		this.currentactivity=context;
    		
    		this.shop=shop;
    		this.zi_mvurl=zi_mvurl;
    		this.zi_name=zi_name;
    		
    		text_name_sub.setText(zi_name);
    		textview_mvurl.setText(zi_mvurl);
    		view.setOnClickListener(new OnClickListener(){
      //点击事件
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				if(!getZi_mvurl().equals("collect")){
    					//若不是收藏  就切换视频
    					
    					System.out.println("点击=====RightTopChildsLayouts==zi_name========"+getZi_name());
    							VideoView mVideoView =	currentactivity.getmVideoView();
    							mVideoView.pause();
    							Uri uri = Uri.parse(getZi_mvurl());
    							mVideoView.setVideoURI(uri);
    							mVideoView.start();
    							
    				}
    				else {
    					/**
    					 * 在这里进行收藏 如果已收藏  显示已收藏
    					 */
    					System.out.println("点击=收藏====RightTopChildsLayouts==zi_name========"+getZi_name());
    					
    					if (getShop() == null)
    						Toast.makeText(getContext(), "收藏失败", Toast.LENGTH_SHORT).show();
    					if (!(new DBManager(getContext()).exits(getShop().getShop_id()))) {
    						save2db(getShop());
    					} else {
    						//Toast.makeText(context, "已收藏", Toast.LENGTH_SHORT).show();
    						text_name_sub.setText(R.string.haven_collected);
    					}
    				}
    			}
    			
    		});
    		
    	}
    	
    	
    
    	private void save2db(Shop shop) {
    
    				ContentResolver resolver = getContext().getContentResolver();
    				ContentValues values = new ContentValues();
    				// System.out.println("baocun11前--------");
    				values.put("shop_name", shop.getShopname());
    				values.put("address", shop.getAddress());
    				values.put("mv_url", shop.getMv_url());
    				values.put("logo_url", shop.getLogo_url());
    				values.put("msg", shop.getMsg());
    				values.put("shop_id", shop.getShop_id());
    				values.put("shop_phone", shop.getShop_phone());
                 
    				Uri url = Uri
    						.parse("content://fang.ContentProvider.MyContentProvider_media/"
    								+ ChangLiang.TABLE);
    				resolver.insert(url, values);
    				// System.out.println("baocun11成功-----------");
    			//	Toast.makeText(getContext(), "收藏成功", Toast.LENGTH_SHORT).show();
    
    			}
    public Shop getShop() {
    		return shop;
    	}
    	public void setShop(Shop shop) {
    		this.shop = shop;
    	}
    public String getZi_name() {
    		return zi_name;
    	}
    	public void setZi_name(String zi_name) {
    		this.zi_name = zi_name;
    	}
    	public String getZi_mvurl() {
    		return zi_mvurl;
    	}
    	public void setZi_mvurl(String zi_mvurl) {
    		this.zi_mvurl = zi_mvurl;
    	}
    	//这个可能不太合适
    	@Override
    	public void setOnClickListener(OnClickListener l) {
    		// TODO Auto-generated method stub
    		super.setOnClickListener(l);
    	//	this.currentactivity.finish();
    		VideoView mVideoView =	currentactivity.getmVideoView();
    		mVideoView.pause();
    		Uri uri = Uri.parse(zi_name);
    		mVideoView.setVideoURI(uri);
    		mVideoView.start();
    		mVideoView
    				.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    					@Override
    					public void onPrepared(MediaPlayer mediaPlayer) {
    						// optional need Vitamio 4.0
    						mediaPlayer.setPlaybackSpeed(1.0f);
    					}
    				});
    
    		
    	}
    
    }
    
    上面用到的sub_right_top.xml如下:

    <pre name="code" class="html">	<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.aaaa.MainActivity"
        tools:ignore="MergeRootFrame">
    	<LinearLayout
        		    android:layout_width="match_parent"
        		    android:layout_height="wrap_content" >
    
        			<!-- <ImageView
        			    android:id="@+id/imageView1"
        			    android:layout_width="wrap_content"
        			    android:layout_height="wrap_content"
        			    android:layout_gravity="center_vertical"
        			    android:layout_marginLeft="8dp"
        			    android:src="@drawable/mm_title_btn_compose_normal" /> -->
    
        			<TextView
        			    android:id="@+id/textview1"
        			    android:layout_width="wrap_content"
        			    android:layout_height="wrap_content"
        			    android:padding="8dp"
        			    android:text="洗菜间"
        			    android:textColor="#fff"
        			    android:textSize="18sp" /> 
        			    <TextView
        			    android:id="@+id/textview_gone"
        			    android:layout_width="wrap_content"
        			    android:layout_height="wrap_content"
        			    android:padding="8dp"
        			    android:text="隐藏"
        			    android:textColor="#fff"
        			    android:textSize="18sp" 
        			    android:visibility="gone"
        			    /> 
        			       		    
        		</LinearLayout>
        	</RelativeLayout>


    
    
    下面是动态添加的代码:在他们的父布局一加载的时候开始动态添加:

    public class MainTopRightDialog extends Activity {
    	// private MyDialog dialog;
    	private LinearLayout layout;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main_top_right_dialog);
    		// dialog=new MyDialog(this);
    		layout = (LinearLayout) findViewById(R.id.main_dialog_layout);
    
    		Shop shop1 = (Shop) getIntent().getSerializableExtra("shop_inmvplayer");
    		MvplayActivity123 mvplayActivity123 = MvplayActivity123.getinstance();
    
    		List<Map<String, Object>> mv_urls_list = null;
    		String mv_urls = shop1.getMv_url();
    		if (!mv_urls.equals("null") && mv_urls != null && !mv_urls.equals("")) {
    
    			try {
    				mv_urls_list = (List<Map<String, Object>>) new ParseJson2List()
    						.ParseJson2List(shop1.getMv_url().toString());
    			} catch (JSONException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		} else {
    			mv_urls_list = null;
    			return;
    		}
    		RightTopChildsLayouts layout_childs = null;
    		/**
    		 * 根据 zi_mvurl 区分是url 还是收藏 若是收藏就为 collect
    		 */
    		RightTopChildsLayouts layout_collect = null; ///
    		for (int i = 0; i < mv_urls_list.size(); i++) {
    			layout_childs = new RightTopChildsLayouts(mvplayActivity123, shop1,
    					mv_urls_list.get(i).get("_skey").toString(), mv_urls_list.get(i).get("_svalue").toString());
    		if (layout_childs != null) {
    		 /* 	android:layout_width="wrap_content"
    		        	android:layout_height="wrap_content"
    		        	android:layout_alignParentRight="true"
    		        	android:layout_alignParentTop="true"*/
    			layout.addView(layout_childs,130,LinearLayout.LayoutParams.WRAP_CONTENT);
    		}
    		
    		}
    		/**
    		 * 添加收藏 项  若收藏过显示已收藏
    		 */
    		layout_collect=new RightTopChildsLayouts(mvplayActivity123, shop1,
    				(new DBManager(this).exits(shop1.getShop_id())?"已收藏":"收藏"), "collect");
    			layout.addView(layout_collect,130,LinearLayout.LayoutParams.WRAP_CONTENT);
    
    	/*	layout.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "提示:点击窗口外部关闭窗口!",
    						Toast.LENGTH_SHORT).show();
    			}
    		});*/
    	}
    
    
    	
    	@Override
    	public boolean onTouchEvent(MotionEvent event) {
    		finish();
    		return true;
    	}
    
    }
    这个的布局文件(main_dialog_layout)如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"       
       >
       
       <RelativeLayout
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"  
           android:layout_marginTop="46dp"
           
                 >
            
        	<LinearLayout
        	    android:id="@+id/main_dialog_layout"
    	      	android:layout_width="wrap_content"
            	android:layout_height="wrap_content"
            	android:layout_alignParentRight="true"
            	android:layout_alignParentTop="true"
            	android:orientation="vertical"
            	android:background="@drawable/title_function_bg" >
    
       <!--  		<LinearLayout
        		    android:layout_width="match_parent"
        		    android:layout_height="wrap_content" 
        		    android:layout_marginBottom="3dp"
        		    >
    
        	
    
        			<TextView
        			    android:layout_width="wrap_content"
        			    android:layout_height="wrap_content"
        			    android:padding="8dp"
        			    android:text="收藏"
        			    android:textColor="#fff"
        			    android:textSize="18sp" 
        			    
        			    />   		    
        		</LinearLayout>
        -->  
            
               
           </LinearLayout>
    
        </RelativeLayout>
    </RelativeLayout>





      

    展开全文
  • android程序中View的点击事件共有四种,除了在布局文件中为按钮设置属性外还有另外3种都用到了OnClickListener接口,只不过形式不同而已。1.在布局文件中为按钮设置点击事件在绑定的布局xml中有相应&lt;Button /...

    android程序中View的点击事件共有四种,除了在布局文件中为按钮设置属性外还有另外3种都用到了OnClickListener接口,只不过形式不同而已。


    1.在布局文件中为按钮设置点击事件

    在绑定的布局xml中有相应<Button  />中添加android:onClick="click"之后在与xml布局绑定的Activity中添加方法

    public void click(View view){
          Log.i("已点击此按钮");
    }


    2.创建内部类

    activity_main.xml中为控件设置id属性

    <Button
          android:id="@+id/button1"
          …
    />

    创建内部类实现OnClickListener接口

    protected void onCreate(Bundle savedInstanceState){
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          Button1.setOnClickListener(new MyButton());
          Button2.setOnClickListener(new MyButton());
    }
    private class MyButton implements OnClickListener{
          @Override
          public void onClick(View v){
                switch(v.getId()){
                      case R.id.button:Log.i("点击id为button的按扭");break;
                      case R.id.button1:Log.i("点击id为button1的按扭");break;
                 }
          }
    }


    3.主类中实现OnClickListener接口

    public class MainActivity extends Activity implements OnClickListener{
          protected void onCreate(Bundle savedInstanceState){
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                Button button1=setOnClickListener(this);
                Button button2=setOnClickListener(this);
          }
          @Override
          public void onClick(View v){
                switch(v.getId()){
                      case R.id.button:Log.i("点击id为button的按扭");break;
                      case R.id.button1:Log.i("点击id为button1的按扭");break;
                 }
          }
    }



    4.匿名内部类

    Button button1=(Button) findViewById(R.id.button1);
    button1.setOnclickListener(new OnClickListener(){
          @Override
          public void onClick(View v){
                Log.i("通过匿名内部类的监听器实现绑定点击button1事件");
          }
    });


    注意:在实现OnClickListener接口时,为按钮设置点击事件要导入android.view.View包。

    这几种方式都不难理解,方式1最好理解,本人常使用方式3。

    展开全文
  • android 给ListView添加点击事件的三种方式
  • 如何在XML中添加单击事件? 例如给TextVeiw添加单击事件:    android:id="@+id/tv"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:background=
  • 添加按钮点击事件方法一:1. 在布局中添加一个按钮,ID为button2. 在MainActivity.java中的头文件中添加importandroid.widget.*;3. 在主类中添加按钮和其他所需类TextView textview; Button button;4. 在onCreat...
  • 本文将介绍给ListView添加点击事件的三种方式: 1、第一种方式。在BaseAdapter的基础上添加点击事件 personLV.setOnItemClickListener(new MyOnItemClickListener()); private class MyOnItemClickListener ...
  • 怎么给动态添加的Fragment中的TextView添加点击事件
  • 紧接着上篇博文写到的自定义ListView只需在MainActivity中添加如下代码: package com.example.test; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; ...
  • androidUI布局中,一般都是利用xml来布局控件,这是比较方便和直观的,但是有时却需要动态生成,下面就举2个简单例子来说明怎么动态添加控件: 1.动态添加2个垂直排列的Button @Override public void onCreate...
  • 方法一、直接在Adapter中的onBindViewHolder()方法中实现点击事件 @Override public void onBindViewHolder(MyViewHolder viewHolder, final int postion) { viewHolder.textView.setText(mDatas.get(postion)...
  • 1.概述android开发当中有可能会碰到以下这种情况,某个页面,...本文实现了一个动态添加和删除控件的简单例子!先上截图:2.代码实现(1)布局文件activity_main.xml[html] view plain copy&lt;RelativeLayout...
  • Android程序不仅可以像《【Android】利用xml文件布局修改Helloworld程序》(点击打开链接)利用xml文件进行布局,也可以利用纯Java代码布局,当然不推荐单单只使用一种布局方式。xml与Java代码布局应该混合存在,...
  • 1.在xml文件中添加"doClick" 监听属性 xml中给button组件添加 android:onClick="doClick"​​​​​​​ 属性之后再到Activity中添加 doClick方法 public void onClick(View view){...
  • 一、新建属性在新建的module中的values文件夹下新建atts.xml声明 //此处省略10000字 二、实现自己的View可以继承RelativeLayout创建构造方法private String t
  • Button android:id="@+id/btnTakePhoto" android:layout_width="150dp" android:layout_height="50dp" android:text="拍照" android:layout_centerInParent="true" />------------------packa
  • Android广告轮播图添加标题及点击事件前言:广告轮播图,网上的例子多如牛毛,但是,你想要找到满足自己项目需求的例子,还是需要花费一些时间寻找,可能还需要花费精力去修改。写这篇文章,主要是在项目中遇到了...
1 2 3 4 5 ... 20
收藏数 237,254
精华内容 94,901
关键字:

动态添加单击事件android