【发布时间】:2018-09-05 10:39:32
【问题描述】:
我尝试用下面的代码来做,但它不起作用!请帮助我...我很困惑...
在下面的代码中,一切都很好,但 onItemClickListener 没用,它在 onCreateView 中的方法是错误的吗?
我的物品布局没问题..
public class favFrg extends Fragment {
View v;
ListView listView;
List<HashMap<String,Object>> listFav;
DatabaseManager dbManager;
public favFrg() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
v= inflater.inflate(R.layout.fragment_fav_frg, container, false);
listView= v.findViewById(R.id.listViewFav);
dbManager=new DatabaseManager(getContext());
dbManager.openDB();
listFav=dbManager.getStoryFavorite();
dbManager.closeDB();
String[] keys={"id","txtName"};
int[] resources={R.id.favTxtViewNumberStory,R.id.favTxtViewTitleStory};
SimpleAdapter adapter=new SimpleAdapter(getContext(),listFav,R.layout.fav_item_layout,keys,resources);
listView.setAdapter(adapter);
Log.i("ListView","Adapter Set");
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.i("ListView","click item");
Toast.makeText(getActivity(),"Clicked",Toast.LENGTH_SHORT).show();
}
});
Log.i("ListView","Return View");
return v;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
【问题讨论】:
-
在您的情况下尝试在项目视图“V”上应用点击侦听器
-
在 listView.setOnItemClickListener() 传递“this”并覆盖 @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { } 并从此处处理点击。
-
请检查此link 来回答您的问题。
-
分享你的错误日志
标签: java android listview android-fragments