【问题标题】:how to access object properties from inside OnItemClickListener如何从 OnItemClickListener 内部访问对象属性
【发布时间】:2015-11-27 11:48:41
【问题描述】:

我正在尝试制作电影海报画廊,当用户点击画廊上的项目时,会出现图片标题。

我使用自定义 ArrayAdapter 将图像与 grideview 链接

MoviePoster 类如下:

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;
    }
}

我只是不知道如何回忆每件商品的图片标题。谁能帮忙??

【问题讨论】:

  • MoviewPoster poster = (MoviewPoster) adapterView.getItemAtPosition(position);
  • 你能解释一下吗,我在哪里可以使用这行代码? @黑带
  • 你能展示你的适配器类吗@Mohamed Ibrahim
  • @Blackbelt 谢谢,我用了那条线,它奏效了。
  • 感谢@VivekPatel。 Blackbelt 和 ρяσѕρєя K 解决方案工作正常。

标签: android android-arrayadapter onitemclicklistener


【解决方案1】:

如何调用每个项目的图像标题

使用onItemClick 方法的i 参数,即GridView 中被点击项目的位置:

public void onItemClick(AdapterView<?> adapterView, View view, 
                                                int i, long l) {
   MoviewPoster poster = posters[i];
   String strTitle=poster. title;
  }

或者我们也可以按照 cmets 中的建议使用 getItemAtPosition 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 2012-08-03
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    相关资源
    最近更新 更多