在Sherlockfragment选项卡中处理按钮单击

时间:2012-11-24 17:29:49

标签: android android-fragments actionbarsherlock

希望你们能帮忙,我有一个有标签的活动,每个标签都是一个片段。 我正在使用Sherlockfragment库并试图找出如何处理片段布局中的按钮。 我的代码目前是:

将标签添加到标签

 mTabsAdapter.addTab(mTabHost.newTabSpec("1").setIndicator("Page 1"),1.Fragment.class, null);

片段类:

    public class 1 extends SherlockFragmentActivity {

     public static class Fragment extends SherlockFragment {
            Fragment newInstance(int num) {
            Fragment f = new Fragment();
            return f;
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

        }

        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View v = inflater.inflate(R.layout.1, container, false);
            return v;
        }
    }

}

然后布局是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" >
        <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android">
            <TextView android:text="@string/page1" android:layout_width="wrap_content"  android:layout_height="wrap_content"  />
        </LinearLayout>
        </ScrollView>
<ImageButton
        android:id="@+id/btn_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/bt1" />
</RelativeLayout>

我在Sherlock样本中找不到任何有用的样本,但如果有一个我错过的样本,请告诉我。

1 个答案:

答案 0 :(得分:0)

在片段的onCreateView()中,您可以使用findViewById()访问片段布局中的不同视图,并为它们分配不同的侦听器,调用相应的方法,例如setOnClickListener()。您还可以将对不同视图的引用存储为片段内的私有变量,供以后使用。