GeoCoder需要异步错误FIx

时间:2016-09-25 16:42:42

标签: java android android-asynctask google-geocoder

不要理解如何在我的代码中修复此错误,"必须从UI线程调用方法getText,当前推断的线程更多是工作者...(⌘F1)"。

在这一行中,String name = addressEdit.getText()。toString();部分" addressEdit.getText()"加下划线。

我看过并发现类似但解决方案直接适用。

以下代码 -

私有类GeocodeAsyncTask扩展AsyncTask {         String errorMessage ="";

    @Override
    protected void onPreExecute() {
    }

    @Override
    protected Address doInBackground(Void... none) {
        Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault());
        List<Address> addresses = null;

        if (fetchType == USE_ADDRESS_NAME) {
            String name = addressEdit.getText().toString();
            try {
                addresses = geocoder.getFromLocationName(name, 1);
            } catch (IOException e) {
                errorMessage = "Service not available";
                Log.e(TAG, errorMessage, e);
            }
        } else {
            errorMessage = "Unknown Type";
            Log.e(TAG, errorMessage);
        }

        if (addresses != null && addresses.size() > 0)
            return addresses.get(0);

        return null;
    }

提前感谢您的帮助!

0 个答案:

没有答案