I try do it with below code but it not working! Please help me... I am confused ... In below code all things is good but onItemClickListener
is useless and it is in onCreateView
method is wrong? My items layout is not problem..
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);
}
代替getContext()
在为listview创建适配器时使用container.getContext()
。
Just Only clickable and focusable attr in my item layout should be false... and works for me
尝试将SimpleAdapter设置为公共变量,并将其放在onCreateView类的外部
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.