单击onActivityResult()中的按钮时线程不执行两次

时间:2015-05-26 16:56:58

标签: android

我有一个应用程序从图库中获取图片路径并在主要活动中打印结果。我在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(); 方法中启动的线程是否有任何限制。这可以解决吗?

1 个答案:

答案 0 :(得分:2)

线程只运行一次。将您的线程创建代码放在onActivityResult中,它将起作用。