【问题标题】:How to set onItemclick in fragment如何在片段中设置onItemclick
【发布时间】:2016-04-27 03:43:01
【问题描述】:

当我的片段 gridview 中的图像被点击时,我试图调用一个 swipeview,但我无法正确设置它。之前我已经将我的 gridview 与 mainactivity 中的 swipe 视图连接起来,但在这里我得到了错误

  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view= inflater.inflate(R.layout.fragment_one, container, false);
    GridView gridView=(GridView)view.findViewById(R.id.gridView);
    gridView.setAdapter(new MyAdapter(view.getContext()));
    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getBaseContext(),"Pic"+(position)+"Selected",Toast.LENGTH_SHORT).show();
            Intent intent= new Intent(view.getContext(),Main2Activity.class);
            intent.putExtra("pic",position);
            startActivity(intent);
        }
    });
    return view;
}

我在 getbaseContext 中遇到错误,我可能在设置 MyAdapter(view.getContext() 时出错,所以请帮助解决错误

【问题讨论】:

  • 使用 getActivity() 代替 getBaseContext()
  • 谢谢@cricket_007 你第二次帮助我
  • 我喜欢在手机上整理问题。我想我正在帮助将问题放到首页
  • 呵呵,我很快也会帮助你,这是我在 android 开发方面的第三个月

标签: android android-fragments onitemclicklistener


【解决方案1】:

尝试使用getActivity() 而不是view.getcontext(),对于滑动视图,我认为您可以通过从左到右添加动画来添加该功能。其实我不明白点击图片时调用 swipeview 是什么意思

【讨论】:

    【解决方案2】:
      @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view= inflater.inflate(R.layout.fragment_one, container, false);
        GridView gridView=(GridView)view.findViewById(R.id.gridView);
        gridView.setAdapter(new MyAdapter(view.getContext()));
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getContext(),"Pic"+(position)+"Selected",Toast.LENGTH_SHORT).show();
                Intent intent= new Intent(getContext(),Main2Activity.class);
                intent.putExtra("pic",position);
                startActivity(intent);
    
            }
        });
        return view;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多