【问题标题】:Listview: cannot resolve symbol 'setAdapter'Listview:无法解析符号“setAdapter”
【发布时间】:2018-04-04 14:17:20
【问题描述】:

我在 Android Studio 构建的项目上遇到问题:

@Override
protected void onCreate(Bundle savedInstanceState) {
...
dataAdapter = new GooglePlacesAutocompleteAdapter(MyActivity.this,R.layout.adapter_google_places_autocomplete)
  {
    listView = (ListView) findViewById(R.id.listView1);
    // Assign adapter to ListView
    listView.setAdapter(dataAdapter);
    ...
  }

}

但 'setAdapter' 显示为红色并弹出消息提示

无法解析符号“setAdapter”

谁能帮帮我? 谢谢

【问题讨论】:

  • setAdapter 需要 ListAdapter,而 dataAdapter 不是。
  • 好吧,我将其声明为 GooglePlacesAutocompleteAdapter:
  • GooglePlacesAutocompleteAdapter dataAdapter = new GooglePlacesAutocompleteAdapter
  • 这是ArrayAdapter的子类,而不是ListAdapter的子类
  • 对不起,我的 Android Studio 很慢...ArrayAdapter

标签: java android


【解决方案1】:

从 cmets 来看,我要给你一个建议,它可能并不完美,因为我对 Android 还不是很了解,也许不是使用列表视图,而是尝试使用 RecylerView。

我不确定您的要求,但也许我可以为您提供一些见解并帮助您解决问题。让我尝试向您展示一些当前适用于我的示例编码,我假设您已经为您的适配器设置了所有内容等等......

private List<ModelForItems> fireflyList = new ArrayList<>();
private MyAdapter sAdapter;

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
sAdapter = new MyAdapter(fireflyList, this);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(sAdapter);

如果您有任何不明白的地方或需要任何进一步的帮助,请告诉我。我希望我没有完全错过您的观点,并且至少能够以某种方式帮助您。

【讨论】:

  • 嗨新秀,感谢您的帮助;实际上我需要你的帮助来解决这个问题,但是通过这个网站交流有点困难,我可以在 gmail 上加你吗?
  • 当然,我很乐意尽我所能为您提供帮助,请在此处留下您的电子邮件,我会从我的个人 Gmail 中向您发送一封邮件 :)
  • bbilicu@yahoo.it
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
相关资源
最近更新 更多