在一个活动中按钮与另一个活动中的按钮执行相同操作

时间:2016-07-27 15:08:23

标签: java android android-studio

我是Android新手。在我的应用程序中,在ActivityOne中,我想让用户使用按钮拍照。然后将图片存储在库中,并在ActivityTwo中的ImageView中显示。 我的问题是:我如何向ActivityTwo添加一个按钮,允许用户在ImageView中显示时不喜欢它。基本上,该按钮将与ActivityTwo中的按钮相同。我是否需要为按钮编写相同的代码? 我试图创建一个单独的实现View.OnClickListener,在onClick方法中添加功能,并在每个活动中创建一个附加到按钮的该类的实例:

onClick(View v) { 
int id = v.getId();
if (id == R.id.myButton) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
myfile = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
v.startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
   }
}

但是,这会导致错误,因为类不是活动。 任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:0)

您可以为第二个按钮编写相同的逻辑,但正如Naveen所说,将按钮放在第一个活动上会更容易,导致相机。当用户拍照时,只需在第一个活动上使用linearlayout将图像视图添加到按钮上方的布局中。然后显示图片,用户可以选择重新拍摄。

答案 1 :(得分:0)

最佳选择是让用户在需要的活动中拍照。但是,如果您需要在多个位置使用它,则应将第一个活动(获取图片的代码)中的按钮触发的代码提取到单独的类中。那么你可以在需要的时候从任何地方打电话。

答案 2 :(得分:0)

@ Subzero-273k关注此事。

  1. 在您的活动中制作两种不同的布局。一个显示您的第一个按钮,请记住通过设置可见性来隐藏其他布局。
  2. 一旦用户点击了调用someOnClick()的button1,隐藏了第一个布局并启用了另一个布局,其中显示了imageView和button2,onLlick按钮2仍然会调用旧函数someOnClick()。
  3. 这个怎么样?当你提到你在两个不同的活动中做了什么时,我假设你只是为单个按钮显示活动一。