我有一个使用标签的 Android 应用程序(使用 ActionBarSherlock)。所以我的主要活动为我创建了选项卡,然后我从那里加载片段布局。
在我的MainActivity.java
我创建一个选项卡(这只是一个片段):
mTabsAdapter = new TabsAdapter(this, mViewPager);
mTabsAdapter.addTab(
bar.newTab().setText("Fragment 1"),
MainMenuFragment.class, null);
我的 MainMenu.java 看起来像这样:
public class MainMenuFragment extends SherlockFragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.mainmenu_fragment, container, false);
return view;
}
public void showMainMenu(View view)
{
Log.e("app", "olol: button!"); // never called!!
}
}
这是mainmenu_fragment
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000" >
<Button
android:id="@+id/btnMenu"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="41dp"
android:text="@string/mainmenu"
android:onClick="showMainMenu" />
</RelativeLayout>
现在我所要做的就是将方法showMainMenu(View view)
放在某个地方。我认为这会放在相应的 java 文件中(在我的例子中为 MainMenuFragment.java)。但它仅在我将方法放入 MainAvtivity.java 文件时才有效。
这意味着我所有来自各种片段布局的按钮操作都将放在一个(主)java文件中。为什么我不能简单地将它放在调用片段布局的java文件中..??