2016-03-28 125 views
0

我有一個標籤式的活動「ActivityBeamRec」有兩個片段,在第二個片段錯誤,當我嘗試添加微調出現,這裏是片段代碼無法解析微調適配器構造函數片段

public class FragBeamRec extends Fragment { 

     public static FragBeamRec newInstance() { 
     FragBeamRec fragment = new FragBeamRec(); 
     return fragment; 
      } 

     public FragBeamRec() { 
    } 
    static EditText tasss = null; 
    static EditText tass1 = null; 
    static Spinner spinAs = null; 
    static Spinner spinAs1 = null; 

    static ArrayAdapter<String> adapter; 

    @Override 
    public View onCreateView( LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     final View v = inflater.inflate(R.layout.fragment_frag_beam_rec, container, false); 
     ArrayList<String> list = new ArrayList<>(); 
     list.add(0,""); 
     list.add(1,""); 
     list.add(2,""); 
     spinAs = (Spinner)v.findViewById(R.id.spinner); 
     spinAs1 = (Spinner)v.findViewById(R.id.spinner2); 
     adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); 
      spinAs.setAdapter(adapter); 

      return v; 
    } 

} 

我試圖使用ActivityBeamRec.this insted this但我結束了一個錯誤「ActivityBeamRec不是封閉類」。

回答

3

更改此

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); 

adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, list); 

帕拉姆需要一個背景。使用getActivity()http://developer.android.com/reference/android/app/Fragment.html#getActivity%28%29

要評論

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View arg1, 
       int arg2, long arg3) { 


     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 
+0

它工作的感謝,但是當我添加'spinAs.setOnItemSelectedListener(getActivity());'給出一個錯誤,如果我把「這個」不會工作 –

+0

@tamimabweini你需要設置一個選擇偵聽器與匿名內部類或讓你的片段類實現了監聽器,然後使用你使用這個。檢查編輯的答案。 – Raghunandan

0

改變這一行

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); 

這個

adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, list); 
+0

@tamim abweini查看答案。 – 2016-03-28 04:11:03

0

這將help you

adapter = new ArrayAdapter<String>(getActivity(), 
       android.R.layout.simple_spinner_item, list); 
相關問題