将AdView添加到扩展ListActivity的类中
问题描述:
我为我的Android应用程序使用AdMob。我想将AdView添加到扩展ListActivity的Activity。将AdView添加到扩展ListActivity的类中
我已经尝试使用getListView().addHeaderView(my_ad_view)
但似乎没有工作。
任何想法如何实现这一目标?由于我对这个领域非常陌生,任何帮助都将不胜感激。谢谢。
这里是我的代码:
此活动开始,如:
public class Home extends ListActivity { /* Code */ }
的onCreate()
功能:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the list items. The method populateList() reads the items from the database
// and returns a String array.
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, populateList()));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
goToTasks(String.valueOf(getListAdapter().getItem(position)));
}
});
lv.setCacheColorHint(0);
lv.setBackgroundResource(R.drawable.fmn_background_300);
registerForContextMenu(getListView());
refreshList();
// Here is the AdView code
AdView adView = new AdView(this, AdSize.BANNER, FMN.ADMOB_ID);
LinearLayout ll = (LinearLayout)findViewById(R.id.ll_admob);
ll.addView(adView);
getListView().addHeaderView(ll);
adView.loadAd(new AdRequest());
}
我已经设置了权限,并已宣布在表现为活动需要。
在populateList()
方法中,我只获得Cursor
,然后做一些操作工作,最后返回一个String
数组。
那么我做错了什么?该活动加载时,应用程序才会退出。
答
如果你希望你的add视图是始终可见(所以没有关系列表视图),你可以像下面这样的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/root">
<View /*Your View*/ android:layout_width="fill_parent"
android:layout_height="wrap_content"></View>
<ListView android:id="@+id/android:list" style="@style/CustomListView" />
</LinearLayout>
在这种情况下,你参考这个观点并在那里添加自己的视图。
如果你想让它与你的列表视图一起滚动,你应该添加一个标题,或者将它作为一个自定义列表项(即检查你的适配器是否位置== 0,然后返回这个AdView而不是另一个)。
请问您还可以添加一些更多的代码,以便了解当前实现的确切问题是什么?
BR, Dimitris