2013-09-30 35 views
0

我已經實現了一個帶有4個選項卡的FragmentPagerAdapter,並且我已經將一個片段關聯到它們中的每一個。的問題是,我無法與它們所包含的元件相互作用,我嘗試以下:與來自FragmentPagerAdapter的元素進行交互

 @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     super.onCreateView(inflater, container, savedInstanceState); 

     View view = inflater.inflate(R.layout.fragment1, container, false); 

     // Some codes for layout such as findViewById 
     ImageView img = (ImageView)findViewById(R.id.image); 
     img.setOnClickListener(new ImageView.OnClickListener() { 
      public void onClick(View v) { 
       Log.i("Fragment", "This is a test"); 
      } 
     }); 

     return view; 
    } 

此方法是在從「片段」和負載的佈局中的一個繼承的類,具有4類的相同的類型,每個標籤一個。

失敗的方法'findViewById',但如果我不能把它放在那裏我把它放在哪裏?

非常感謝。

繼續舉例,我出現了一個新問題。 的視圖之一加載一個GridView與圖像如下:

 @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     super.onCreateView(inflater, container, savedInstanceState); 

     View view = inflater.inflate(R.layout.init, container, false); 

     final GridView grid = (GridView)view.findViewById(R.id.myGrid);    
     grid.setNumColumns(2); 
     grid.setAdapter(new ImageAdapter(this)); 

     return view; 
    } 

的問題是,該方法的新型ImageAdapter(上下文)'接收作爲參數的變量類型上下文加載在方法「newImageView(上下文) '它需要這種類型的變量並傳遞'this'這個變量是類型Fragment而不是Context,通過失敗,我該如何解決?

在此先感謝。

回答

0

當你從一個充氣視圖訪問任何插件,你必須讓他們對於該只查看

改變這一行

ImageView img = (ImageView)findViewById(R.id.image); 

這個

ImageView img = (ImageView) view.findViewById(R.id.image); 

評論我有關結果

+0

好,很好。現在它可以工作。 你說過很多邏輯,我不知道我是否會注意到,非常感謝。 – KryNaC

相關問題