Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何做下面描述的事情_Android - Fatal编程技术网

Android 如何做下面描述的事情

Android 如何做下面描述的事情,android,Android,我有act1.xml和act2.xml。我有两个java类文件,分别是java1和java2。我在java1中编写了一些方法,比如share、capture,它们的活动是act1,工作正常。我只想使用java2中的onClick方法,它们的活动是act2.xml public class SingleItemView extends Activity { final static int CAMERA_RESULT = 0; ImageView imv; @Override public

我有
act1.xml
act2.xml
。我有两个java类文件,分别是java1和java2。我在java1中编写了一些方法,比如share、capture,它们的活动是act1,工作正常。我只想使用java2中的onClick方法,它们的活动是act2.xml

 public class SingleItemView extends Activity {
 final static int CAMERA_RESULT = 0;
 ImageView imv;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Get the view from singleitemview.xml
    setContentView(R.layout.singleitemview);

    // Get position from intent passed from MainActivity.java
    Intent i = getIntent();

    int position = i.getExtras().getInt("id");

    // Open the Image adapter
    ImageAdapter imageAdapter = new ImageAdapter(this);

    // Locate the ImageView in singleitemview.xml
    ImageView imageView = (ImageView) findViewById(R.id.image);

    // Get image and position from ImageAdapter.java and set into ImageView
    imageView.setImageResource(imageAdapter.mThumbIds[position]);


    i = new Intent("android.media.action.IMAGE_CAPTURE");
    startActivityForResult(i, CAMERA_RESULT);
        }
protected void onActivityResult(int requestCode, int resultCode, Intent       intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    if (resultCode == RESULT_OK) {
        Bundle extras = intent.getExtras();
        Bitmap bmp = (Bitmap) extras.get("data");
        imv = (ImageView) findViewById(R.id.imageView);
        imv.setImageBitmap(bmp);

    }
}
我想重用的方法

       btntakephoto.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {


            File photostorage =    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
            photofile = new File(photostorage, (System.currentTimeMillis()) + ".jpg");


            Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //intent to start camera
            i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photofile));
            startActivityForResult(i, TAKENPHOTO);
        }
    });

如果您只想使用
firstActivity.class
OnClick
方法来使用
SecondActivity.class
的某些方法,那么您可以使用
BroadcastManager


但是如果您想将一些数据从
FirstActivity.java
传递到
SecondActivity.java
,那么只需使用
Intent
Bundle
定义一个类,如下所示:

public class ClickHandler implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        // Your code goes here
    }
}
然后在activity1和Activity2中,使用setOnClickListener,如下所示:

Button button = (Button)findViewById(R.id.act1_button);
button.setOnClickListener(new ClickHandler());

Button button = (Button)findViewById(R.id.act2_button);
button.setOnClickListener(new ClickHandler());

什么形象?你应该发布一些代码,这样人们可以复制并粘贴到他们的编辑器中。无法发布图像…你想在你的java1类中重复使用代码吗?是的…这是我的java2类。我想在这里重复使用我的java1方法…如果你想让两个不同的类使用相同的方法,您可以创建一个静态方法并直接调用它们。如果你想让同一个方法在两个不同的地方运行,在每个地方创建一个对象并在那里调用该方法。我想,你想在第一个活动中获得一个图像,并想将该图像发送到第二个文件否,…实际上,我正在从gridview获取图像并在后台显示它…同时我正在尝试从相机捕获图像并保存它。因此,我只需要在这里重用我的代码。我可以捕获图像,但保存按钮在此活动中不起作用。如何将java1.class的方法调用到上述代码中。谢谢。。为了寻求帮助…它崩溃了,但至少按钮开始响应。。