Viewpager + Listview + setOnItemClickListener和片段替换

时间:2013-07-19 11:03:40

标签: android android-listview actionbarsherlock android-viewpager onitemclicklistener

在决定发布我自己的问题之前,我浏览了StackOverflow几天。我真的无法弄清楚这一点。

我正在使用ActionBarSherlock来实现一个包含2个标签的viewpager。我设法在第一个选项卡上获得了一个ListView,一切都运行良好,至少在我点击其中一个列表项之前。

这是SherlockListFragment中有趣的代码

@Override
public void onViewCreated(View view, Bundle savedInstanceState){
      // Click event for single list row

    getListView().setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
             Toast.makeText(getActivity(), "CLICKED", Toast.LENGTH_SHORT).show();
          HashMap<String, String> videoz = new HashMap<String, String>();
           videoz = (HashMap<String, String>) parent.getAdapter().getItem(position);
           String videoid = "test";

           Prova singleitem = new Prova();
            Bundle bundle = new Bundle();
               bundle.putString("KEY_ID", videoid);

              singleitem.setArguments(bundle);                 
               FragmentTransaction trans = getFragmentManager().beginTransaction();

               trans.replace(R.id.main_layout, singleitem);
               trans.addToBackStack(null);
               trans.commit();

        }

  });

}

这段代码实际上可以工作并打开我的“Prova”片段,但它打破了一切。它出现在我的admob下面(通常粘在底部),标签栏不再起作用。我在这里缺少什么?

带标签栏的Listview仍然有效: http://imgur.com/FapadTH,TByd05U#1 点击一个项目后: http://imgur.com/FapadTH,TByd05U#0

我的主要布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:id="@+id/main_layout"
             android:orientation="vertical" >

<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">
</android.support.v4.view.ViewPager>
<LinearLayout
    android:id="@+id/frame_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true">
<com.google.ads.AdView 
     android:id="@+id/adView"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     ads:adUnitId="xxxxxx"
     ads:adSize="SMART_BANNER"
     ads:loadAdOnCreate="false"   

     />
</LinearLayout>      
</LinearLayout>

感谢提前!

0 个答案:

没有答案