2011-08-28 47 views
2

我为我的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数组。

那么我做错了什么?该活动加载时,应用程序才会退出。

回答

2

如果你希望你的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