android android 在list view中插入一条广告
2017-03-22 18:51
393 查看
当看到这个需求的时候,我是懵逼的,怎么在list view中插入一条广告的数据,如果说给list view添加一个头视图或者是尾视图,这都不是问题,在list view中间添加一个数据,我最开始的思路是,给最下面的list view添加两个头视图,一个是list view,另一个是广告,当运行的时候,发现这种做法并不可行,那就一定会有办法解决的。
于是我们换个思路,两个不同的数据,也就是说就是两种不同的ItemViewType,或许我们可以通过判断type的方式来完成这个功能:
1.首先来写布局文件,很简单,就是一个list view
2.再来看数据实体类:
3.然后在MainActivity中使用:
4.最重要的是在adapter中做处理:
5.item_view的布局:
6.item_view_two的布局:
7.效果图如下
8.demo下载地址:
http://download.csdn.net/detail/afanbaby/9790221
本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!
于是我们换个思路,两个不同的数据,也就是说就是两种不同的ItemViewType,或许我们可以通过判断type的方式来完成这个功能:
1.首先来写布局文件,很简单,就是一个list view
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.administrator.otherviewinlistview.MainActivity"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
2.再来看数据实体类:
import java.util.List; /** * Created by Administrator on 2017/3/22. */ public class Bean { private List<Data> dataList; private int num; public Bean(int num, List<Data> dataList) { this.num = num; this.dataList = dataList; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public List<Data> getDataList() { return dataList; } public void setDataList(List<Data> dataList) { this.dataList = dataList; } public static class Data { private String title; private String body; public Data(String title, String body) { this.title = title; this.body = body; } public Data() { } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } } }
3.然后在MainActivity中使用:
import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView listView; private MainAdapter mainAdapter; private Bean bean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listView); mainAdapter = new MainAdapter(this); List<Bean.Data> list = new ArrayList<>(); for (int i = 0; i < 30; i++) { Bean.Data data = new Bean.Data("this is title " + i, "this is body " ); list.add(data); } for (int i = 0; i < 30; i++) { bean = new Bean(i, list); } mainAdapter.setBean(bean); listView.setAdapter(mainAdapter); } }
4.最重要的是在adapter中做处理:
import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView listView; private MainAdapter mainAdapter; private Bean bean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listView); mainAdapter = new MainAdapter(this); List<Bean.Data> list = new ArrayList<>(); for (int i = 0; i < 30; i++) { Bean.Data data = new Bean.Data("this is title " + i, "this is body " ); list.add(data); } for (int i = 0; i < 30; i++) { bean = new Bean(i, list); } mainAdapter.setBean(bean); listView.setAdapter(mainAdapter); } }
5.item_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="match_parent" android:orientation="vertical"> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:layout_marginTop="2dp" android:text="标题" android:textSize="20sp" /> <TextView android:id="@+id/body" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="200dp" android:layout_marginTop="2dp" android:layout_marginBottom="2dp" android:text="内容" android:textSize="17sp" android:textColor="@color/colorPrimaryDark"/> </LinearLayout>
6.item_view_two的布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="210dp"> <ImageView android:id="@+id/item_view_two_iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/headiv" android:scaleType="fitXY"/> </LinearLayout>
7.效果图如下
8.demo下载地址:
http://download.csdn.net/detail/afanbaby/9790221
本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!
相关文章推荐
- Android应用中插入广告的实例
- android应用中插入admob广告
- android中插入一条SMS短信内容(可用于恢复SMS短信操作)
- android 向系统插入一条通话记录
- Android 使用内容解析者往短信数据库里插入一条数据
- 随笔,android使用有米广告服务的方法,即插入广告。
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- unity3d插入android有米广告
- Android 应用中插入广告详解及简单实例
- Android应用中插入广告的实例
- Android 插入一条短信
- [android] 插入一条记录到系统短信应用里
- Android 解决ListView插入其他布局条目(item或广告)删掉数据的问题
- unity3d插入android有米广告
- Android 应用中插入广告的实例
- [Android实例] android盈利之插入广告
- 【android-tips】如何在android应用中插入百度广告(附源码)
- Android插入有米广告
- 向Android手机中插入一条短信 及联系人获取
- 插入网页随机浮动广告代码1