【发布时间】:2012-08-31 13:11:44
【问题描述】:
我正在开发一个使用片段的 Android 3.1 应用程序。
在其中一个片段上,需要创建 n 个按钮并为每个片段设置一个 onClick 事件处理程序。
为此,我想在FragmentActivity 上创建一个方法来处理这些事件,但我不知道如何。注意:FragmentActivity 是一个android.support.v4.app.FragmentActivity,它使用android.support.v4.view.ViewPager 管理所有片段。
在另一个片段上,我有以下XMLcode:
<Button
android:id="@+id/btnTakeArticlePhotos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/btn_take_photo"
android:onClick="onTakePhotoClick" />
这个代码在FragmentActivity:
public void onTakePhotoClick(View view)
{
Log.v("FillEReportFragmentActivity", "onTakeFactoryPhotoClick");
int imgType, imgSubType;
switch (view.getId())
{
case R.id.btnTakeFactoryPhotos:
imgType = ImageType.EREPORT;
imgSubType = SubImageType.EREPORT_FACTORY_OUTLOOK;
break;
case R.id.btnTakeArticlePhotos:
imgType = ImageType.ARTICLE;
imgSubType = SubImageType.NONSET;
default:
imgType = -1;
imgSubType = -1;
break;
}
Intent intent = new Intent(FillEReportFragmentActivity.this, CameraActivity.class);
intent.putExtra(BundleKeys.tablePk, eReportId);
intent.putExtra(BundleKeys.imgType, imgType);
intent.putExtra(BundleKeys.imgSubType, imgSubType);
startActivityForResult(intent, CAMERA_REQUEST_CODE);
}
我想对这些 n 按钮做同样的事情:在 FragmentActivity 上创建一个方法来处理所有 onClick 事件。
我发现如果我想处理以编程方式创建的按钮上的 onClick 事件,我需要实现 onClickEventListener。
如何处理FragmentActivity 上的那些 onClick 事件?还是有更好的方法?
【问题讨论】:
标签: android android-fragments android-viewpager