如何从 OnItemClickListener 内部访问 object 属性
how to access object properties from inside OnItemClickListener
我正在尝试制作电影海报库,当用户单击库中的项目时,会出现图片标题。
我使用自定义 ArrayAdapter 到带有 grideviewlink 的图像
MoviePoster class如下:
public class MoviePoster {
String title;
int image;
public MoviePoster(int image, String title) {
this.image = image;
this.title = title;
}
public MoviePoster(){
}
}
这是 MainACtivity 和图像列表。
public class MainActivityFragment extends Fragment {
private MovieAdapter movieAdapter;
MoviePoster[] posters ={
new MoviePoster(R.drawable.ironman, "ironman"),
new MoviePoster(R.drawable.jobs, "jobs"),
new MoviePoster(R.drawable.superman,"superman"),
new MoviePoster(R.drawable.terminator, "terminator"),
new MoviePoster(R.drawable.batman, "batman"),
new MoviePoster(R.drawable.linux, "linux"),
new MoviePoster(R.drawable.madara, "madara"),
};
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_main, container, false);
movieAdapter = new MovieAdapter(getActivity(), Arrays.asList(posters));
GridView gridView = (GridView) rootView.findViewById(R.id.MoviesGrid);
gridView.setAdapter(movieAdapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getActivity(), "need to show image title here???",Toast.LENGTH_LONG).show();
}
});
return rootView;
}
}
我只是不知道如何记住每个项目的图像标题。有人可以帮忙吗??
how to recall image title for each item
使用 onItemClick
方法的 i
参数执行此操作,该方法是 GridView 中单击项目的位置:
public void onItemClick(AdapterView<?> adapterView, View view,
int i, long l) {
MoviewPoster poster = posters[i];
String strTitle=poster. title;
}
或者我们也可以使用评论中建议的getItemAtPosition
方法来完成。
我正在尝试制作电影海报库,当用户单击库中的项目时,会出现图片标题。
我使用自定义 ArrayAdapter 到带有 grideviewlink 的图像
MoviePoster class如下:
public class MoviePoster {
String title;
int image;
public MoviePoster(int image, String title) {
this.image = image;
this.title = title;
}
public MoviePoster(){
}
}
这是 MainACtivity 和图像列表。
public class MainActivityFragment extends Fragment {
private MovieAdapter movieAdapter;
MoviePoster[] posters ={
new MoviePoster(R.drawable.ironman, "ironman"),
new MoviePoster(R.drawable.jobs, "jobs"),
new MoviePoster(R.drawable.superman,"superman"),
new MoviePoster(R.drawable.terminator, "terminator"),
new MoviePoster(R.drawable.batman, "batman"),
new MoviePoster(R.drawable.linux, "linux"),
new MoviePoster(R.drawable.madara, "madara"),
};
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_main, container, false);
movieAdapter = new MovieAdapter(getActivity(), Arrays.asList(posters));
GridView gridView = (GridView) rootView.findViewById(R.id.MoviesGrid);
gridView.setAdapter(movieAdapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getActivity(), "need to show image title here???",Toast.LENGTH_LONG).show();
}
});
return rootView;
}
}
我只是不知道如何记住每个项目的图像标题。有人可以帮忙吗??
how to recall image title for each item
使用 onItemClick
方法的 i
参数执行此操作,该方法是 GridView 中单击项目的位置:
public void onItemClick(AdapterView<?> adapterView, View view,
int i, long l) {
MoviewPoster poster = posters[i];
String strTitle=poster. title;
}
或者我们也可以使用评论中建议的getItemAtPosition
方法来完成。