android listview添加headview(1)

listview添加headview后的点击事件

========================

1、头部view:设置view的点击时间,用于屏蔽listview的item的点击事件


View headerView = getLayoutInflater().inflate(R.layout.listhead, null);

Button btn = (Button) headerView.findViewById(R.id.button1);

btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

Toast.makeText(MainActivity.this, “bn”, Toast.LENGTH_SHORT)

.show();

}

});

2、添加头部view:必须放在setAdapter前面不然会报错


lv.addHeaderView(headerView);

3、listview填充假数据


List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

HashMap<String, String> map = new HashMap<String, String>();

map.put(“tv”, “tv”);

list.add(map);

list.add(map);

list.add(map);

list.add(map);

list.add(map);

list.add(map);

SimpleAdapter sa = new SimpleAdapter(this, list, R.layout.item_lv,

new String[] { “tv” }, new int[] { R.id.tv });

4、设置适配器:如果listview不设置适配器,headview也不会显示的


lv.setAdapter(sa);

5、设置item点击事件


lv.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1,

int position, long id) {

//position 如果有headview position =0 的第一个为headview

Toast.makeText(MainActivity.this, “position:” + position,

Toast.LENGTH_SHORT).show();

//id:如果有headview或者footview 则这两个view的id为-1

if (id == -1) {

Toast.makeText(MainActivity.this, “head:” + id,

Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(MainActivity.this, “id:” + id,

Toast.LENGTH_SHORT).show();

}

}

});

main.java全部代码:

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.Button;

import android.widget.ListView;

import android.widget.SimpleAdapter;

import android.widget.Toast;

public class MainActivity extends Activity {

ListView lv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lv = (ListView) findViewById(R.id.listView1);

// 头部view:设置view的点击时间,用于屏蔽listview的item的点击事件

View headerView = getLayoutInflater().inflate(R.layout.listhead, null);

Button btn = (Button) headerView.findViewById(R.id.button1);

btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

【Android高级架构视频学习资源】

Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 AndroidListView添加数据的方法有多种,其中一种是使用 ArrayAdapter。首先需要创建一个 ArrayAdapter 对象,并将数据传入。然后将 ArrayAdapter 设置为 ListView 的适配器。代码示例如下: ``` String[] data = {"item1", "item2", "item3"}; ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data); ListView listView = findViewById(R.id.list_view); listView.setAdapter(adapter); ``` 也可以使用其他数据类型,如数组或 ArrayList。 ### 回答2: Android Listview是一种常见的界面元素,通常用于列表展示数据。在实际项目中,我们需要动态添加数据到Listview中。下面详细介绍如何在Listview添加数据。 Listview的数据源通常是一个Adapter。我们可以自定义一个Adapter,根据数据源来进行数据展示。在实现Adapter时,需要实现getView()方法。getView()方法中可以设置Listview每个item的显示样式。为了实现动态添加数据,我们需要先定义一个数据集合List,然后通过Adapter将数据集合中的数据显示在Listview中。 以下是实现Listview添加数据的步骤: 1.定义数据集合List List<String> data = new ArrayList<String>(); 2.定义Adapter public class MyAdapter extends BaseAdapter{ private Context context; private List<String> data; public MyAdapter(Context context,List<String> data){ this.context = context; this.data = data; } public int getCount(){ return data.size(); } public Object getItem(int position){ return data.get(position); } public long getItemId(int position){ return position; } public View getView(int position,View convertView,ViewGroup parent){ ViewHolder holder = null; if(convertView == null){ convertView = LayoutInflater.from(context).inflate(R.layout.list_item,null); holder = new ViewHolder(); holder.tvTitle = convertView.findViewById(R.id.tv_title); convertView.setTag(holder); } else{ holder = (ViewHolder)convertView.getTag(); } holder.tvTitle.setText(data.get(position)); return convertView; } static class ViewHolder{ TextView tvTitle; } } 3.创建Adapter实例并设置给Listview MyAdapter adapter = new MyAdapter(this,data); listView.setAdapter(adapter); 4.动态添加数据 data.add("新添加的数据"); adapter.notifyDataSetChanged(); 在上述代码中,我们先定义了一个数据集合List,然后定义了一个Adapter,Adapter内部实现了getView()方法。在创建Adapter实例并设置给Listview后,就可以动态添加数据了。添加新数据后需要调用notifyDataSetChanged()方法来通知Adapter更新数据。 以上就是在Android Listview添加数据的实现过程。通过这种方式可以将数据展示在Listview中,并随着数据的增加而不断更新。除此之外,在实际项目中还可以使用其他的开源框架来实现Listview的动态添加数据,比如万能适配器等。 ### 回答3: Android中的ListView是一种常用的列表控件,它可以显示一列可滚动的项目。在开发Android应用时,我们经常需要添加数据到ListView中。下面就详细介绍一下如何在Android ListView添加数据。 首先,我们需要为ListView定义好ListView的布局文件。在布局文件中,我们需要定义ListView及其子项的布局。例如: ``` <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20dp" android:padding="10dp" android:textColor="#000000" /> </ListView> ``` 在布局文件中定义好ListView和子布局后,我们需要在Java代码中获取ListView对象,然后为其动态添加数据。具体步骤如下: 1. 获取listView控件对象 ``` ListView listView = (ListView) findViewById(R.id.listView); ``` 2. 准备数据源 一般情况下,我们可以使用List或者Array等集合对象来保存数据。例如: ``` List<String> dataList = new ArrayList<>(); dataList.add("安卓"); dataList.add("苹果"); dataList.add("华为"); dataList.add("小米"); ``` 3. 为ListView添加适配器 ListView是通过适配器来实现显示的,因此,我们需要为ListView添加适配器。适配器可使用Android提供的 ArrayAdapter 或 BaseAdapter 来实现,具体根据实际情况而定。 ``` ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dataList); listView.setAdapter(adapter); ``` 4.添加数据 如果我们需要在ListView中动态添加数据,则可以通过改变数据源 dataList 来实现,然后通知适配器数据发生改变即可。 ``` dataList.add("魅族"); dataList.add("三星"); adapter.notifyDataSetChanged(); ``` 以上就是在Android ListView添加数据的详细步骤。当然,在实际开发中,我们需要针对自己的需求进行具体的实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值