I have listview in my fragment and i'm trying to get item from my listview in my onclick event. But i got error that suggest me declared my list as final. When i try declare my list to final. I get another error "incompatible...".
this is my code
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.announcement_fragment, container, false);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
ArrayList<Announcement> listAnnouncement = GetlistAnnouncement();
ListView lv = (ListView)rootView.findViewById(R.id.list_announcement);
lv.setAdapter(new AnnouncementAdapter(listAnnouncement, getActivity()));
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Announcement item = lv.getItemAtPosition(i);
}
});
return rootView;
}
i got error in this row
Announcement item = lv.getItemAtPosition(i);
Answer : change
Announcement item = lv.getItemAtPosition(i);
to
Announcement item = listAnnouncement.get(i);
or
Announcement item = (Announcement)adapterView.getItemAtPosition(i);