2016-03-28 98 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); 
相关问题