Reputation: 7377
When I want to use setOnItemClickListener
I use the below
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(Tab1Fragment.getContext(null)));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
}
});
But for the below code I am not able to do like the above :
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.gridview1, null);
GridView listView = (GridView) view.findViewById(R.id.mainGrid1);
listView.setAdapter(new Adapter());
GridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
}
});
return view;
}
this is an error image
Upvotes: 3
Views: 2032
Reputation: 10687
Instead of
GridView.setOnItemClickListener(new OnItemClickListener() {
....
} });
Do this
listView.setOnItemClickListener(new OnItemClickListener() {
....
} });
GridView is a class while listView is a GridView variable which you have initialized in your code. Use that instead.
Upvotes: 1
Reputation: 8058
Why you are using Class name Gridview instead of gridview variable you have declared as listview
wrong code:-
GridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
} });
Instead of above code change it to
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
} });
Upvotes: 2