【问题标题】:class 'Anonymous class derived from PlaceSelectedListener' must either be declared abstract or implement abstract method类“从 PlaceSelectedListener 派生的匿名类”必须声明为抽象或实现抽象方法
【发布时间】:2016-02-22 17:27:31
【问题描述】:

我正在尝试使用 Google 网站上的一些代码来实现 google 自动完成小部件。我在这一行有一个错误:

autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener()

错误是: 类“派生自 PlaceSelectedListener 的匿名类”必须声明为抽象或在“PlaceSelectionListener”中实现抽象方法“onError(Status)”

还有另一个错误:

@Override
public void onError(AsyncTask.Status status

错误是:方法没有覆盖其超类中的方法

能否请我了解如何解决这些错误?

public class Preferences extends FragmentActivity  {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_preferences);

    final TextView text = (TextView)findViewById(R.id.textView3);
    final String TAG = Preferences.class.getSimpleName();


    PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
            getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);

    autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(Place place) {
            // TODO: Get info about the selected place.
            Log.i(TAG, "Place: " + place.getName());

            String placeDetailsStr = place.getName() + "\n"
                    + place.getId() + "\n"
                    + place.getLatLng().toString() + "\n"
                    + place.getAddress() + "\n"
                    + place.getAttributions();
            text.setText(placeDetailsStr);
        }

       @Override
        public void onError(AsyncTask.Status status) {
            // TODO: Handle the error.
            Log.i(TAG, "An error occurred: " + status);
        }
    });


}

}

【问题讨论】:

    标签: java android


    【解决方案1】:

    我找到了解决方案: 我改变了:

     @Override
                public void onError(AsyncTask.Status status) {
                    // TODO: Handle the error.
                    Log.i(TAG, "An error occurred: " + status);
                }
    

    到:

    @Override
                public void onError(Status status) {
                    Log.i(TAG, "An error occurred: " + status);
                }
    

    【讨论】:

      猜你喜欢
      • 2021-11-24
      • 2015-02-28
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      相关资源
      最近更新 更多