2016-04-27 32 views
0

我试图调用swipeview时,我的片段gridview中的图像被点击,但我无法正确选择它。早先我已经将gridview与mainactivity中的swipe视图连接起来,但在这里我收到错误如何在片段上设置onItemclick

@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(),所以PLZ在解决错误

+0

使用_getActivity(当调用swipeview的意思)_代替_getBaseContext()_ – Piyush

+0

THX @ cricket_007第二次ü帮助我 –

+0

我只是想清理的问题,而我在我的手机上。我想我正在帮助碰到问题的头版 –

回答

2

尝试使用getActivity()而不是view.getcontext()帮助和对于滑动视图,我认为你可以通过添加从左到右的动画添加该功能。实际上,我不知道不懂什么ü通过图像被点击

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