0

ランナブル内の 2 つのテキストビューを更新できますか? 私のコードは 1 つのテキストビューしか更新できないためです。写真の EXIF データからアドレスと日付を含む 2 つのテキストビューを更新するこのメソッドを取得しました。

public void launchRingDialog() {

        final ProgressDialog ringProgressDialog = ProgressDialog.show(ReportIncident.this, "Please wait ...", "Rendering Image EXIF Data ...", true);

        ringProgressDialog.setCancelable(false);

        new Thread(new Runnable() {

            @Override

            public void run() {

                try {





                    Thread.sleep(5000);
                    loadExifData();
                    r.setDate(mExif.getAttribute(ExifInterface.TAG_DATETIME));
                    tvLocation.setText(getaddress());
                    tvTime.setText(r.getStringDate());
                    r.setLati(Double.parseDouble(mExif.getAttribute(ExifInterface.TAG_GPS_LATITUDE)));
                    r.setLongi(Double.parseDouble(mExif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE)));



                } catch (Exception e) {


                }

                ringProgressDialog.dismiss();

            }

        }).start();

    }
4

1 に答える 1

1

Android の UI スレッドとは異なるスレッドで UI を更新することはできません。そのために使用できる簡単な方法は次のとおりです。

Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable(){
    tvLocation.setText(getaddress());
    tvTime.setText(r.getStringDate());
});
于 2015-07-17T12:04:08.427 に答える