2016-04-27 31 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; 
}