我有一个正在使用自定义适配器填充的ListView。我想在列表中的最后一项添加填充以容纳广告,因此当您滚动到底部时,广告不会覆盖最后一项。我唯一的布局是ListView的每一行的布局:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/BaseStyle"
android:orientation="vertical"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:paddingTop="8dip"
android:paddingBottom="8dip"
>
<TextView
android:id="@+id/text"
style="@style/BaseStyle.Title"
/>
</RelativeLayout>
除此之外,我只有填充ListView的自定义适配器代码。我不确定是否需要包含任何其他代码来帮助解决问题。
编辑,我没有主要布局,这就是我填充ListView的方式:
public class Main extends ListActivity {
private CustomAdapter adapter;
private String[] items = {};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
adapter = new CustomAdapter();
items = PopulateItems();
for (String item : items)
adapter.addItem(item);
this.setListAdapter(adapter);
adapter.notifyDataSetChanged();
}
private class CustomAdapter extends BaseAdapter {
private String[] mData;
private LayoutInflater mInflater;
public CustomAdapter() {
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public void addItem(String item) {
mData.add(item);
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
String item = (String)this.getItem(position);
if (convertView == null)
{
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.main, parent, false);
holder.text = (TextView)convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
TextView tvText = holder.text;
tvText.setText(item);
}
static class ViewHolder {
TextView text;
}
答案 0 :(得分:2)
我认为你要找的是“clipToPadding”属性或setClipToPadding()方法:
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@dimen/your_bottom_padding"/>
答案 1 :(得分:1)
根据您的需要,您需要拥有另一个包含两个视图的布局文件 - ListView和广告视图。确保为listview使用id“@android:id / list”。