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的方法调用到上述代码中。谢谢。。为了寻求帮助…它崩溃了,但至少按钮开始响应。。