我Incompatible types: String cannot be converted to DatabaseReference在onItemClick获取Firebase数据库密钥时出错。
我用来从Firebase数据库填充ListView的代码
mListView = (ListView) rootView.findViewById(R.id.listview1);
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://my-project.firebaseio.com/name/data");
FirebaseListAdapter<Personnel> adapter = new FirebaseListAdapter<Personnel>(getActivity(),Personnel.class,R.layout.layout_items,databaseReference) {
@Override
protected void populateView(View v, Personnel model, int position) {
TextView textView = (TextView) v.findViewById(R.id.tv_title);
textView.setText(model.name);
}
};
mListView.setAdapter(adapter);
ListView的onItemClick(从修改)
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
DatabaseReference itemRef = adapter.getItem(position);
Toast toast = Toast.makeText(getActivity().getApplicationContext(), itemRef.getKey(), Toast.LENGTH_SHORT);
toast.show();
}
});
首先我在下面有Variable 'adapter' is accessed from within inner class, needs to be declared final错误adapteradapter.getItem(position);onItemClick
所以我添加final
了final FirebaseListAdapter<Personnel> adapter...
这个错误
我尝试声明adapter
为全局,但仍然遇到相同的错误。请让我知道如何解决此问题。谢谢!
相关分类