我有一个应用程序从图库中获取图片路径并在主要活动中打印结果。我在mainactivity()
方法中有一个按钮,当单击一个负责相机意图的按钮时,结果将被调用{{{ 1}} method.In onActivityResult
我创建了一个线程。当点击按钮后创建应用程序时,线程被执行但是在其他时间没有被执行时点击它。
如果你不接受我的问题,请告诉你代码....
onActivityResult()
In MainActivity
thread = new Thread(new Runnable() {
public void run() {
Toast.makeText(getActivity(),"hello there this isnt displaying twice,Toast.LENGTH_LONG").show();
}
});
onCreate() method
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
}
});
onActivityResult() method
可能是什么原因?对于不应该在Uri selectedimage = data.getData();
String[] filepathcolumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedimage, filepathcolumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filepathcolumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageView imageView = (ImageView) findViewById(R.id.imageView);
bmp= BitmapFactory.decodeFile(picturePath);
imageView.setImageBitmap(bmp);
thread.start();
方法中启动的线程是否有任何限制。这可以解决吗?
答案 0 :(得分:2)
线程只运行一次。将您的线程创建代码放在onActivityResult中,它将起作用。