2014-07-10 41 views
0

我想初始化一個片段中的下拉列表。 我收到以下錯誤。構造函數ArrayAdapter(FragTasbeeh,int,String [])未定義 也可以解釋如何在片段中使用活動類,因爲一次只能擴展一個類。取而代之的在ArrayAdapter中使用微調錯誤的微調器是未定義的

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

{ 
    public class FragTasbeeh extends Fragment { 

     ImageView ivIcon; 
     TextView tvItemName; 
     Button add; 
     int counter = 0; 


     public static final String IMAGE_RESOURCE_ID = "iconResourceID"; 
     public static final String ITEM_NAME = "itemName"; 


     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

      View view = inflater.inflate(R.layout.tasbeeh, container, false); 
      if (savedInstanceState == null) { 
       counter = 0; 
      } else { 
       counter = savedInstanceState.getInt("counter", 0); 
      } 

      return view; 

     } 


     @ 
     Override 
     public void onActivityCreated(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onActivityCreated(savedInstanceState); 
      add = (Button) getActivity().findViewById(R.id.button1); 
      tvItemName = (TextView) getActivity().findViewById(R.id.textView1); 
      add.setOnClickListener(new View.OnClickListener() { 

       @ 
       Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        counter++; 
        tvItemName.setText(counter + ""); 
       } 
      }); 
     } 

     private Spinner spinner; 
     public static final String[] items = { 
      "1", "2", "3" 
     }; 

     @ 
     Override 
     public void onCreate(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 
      Spinner dropdown = (Spinner) getActivity().findViewById(R.id.spin); 
      String[] items = new String[] { 
       "1", "2", "three" 
      }; 
      ArrayAdapter <String> adapter = new ArrayAdapter <String> (this, android.R.layout.simple_spinner_item, items); 
      dropdown.setAdapter(adapter); 
     } 

    } 
} 

回答

0

嘗試

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

,而不是通過這個爲

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

通this.getActivity(),如下

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

不要使用this作爲ArrayAdapter的第一個參數。

這裏this是你的片段FragTasbeeh

因此,這意味着 -

The constructor ArrayAdapter<String>(FragTasbeeh , int, String[]) is undefined. 

您需要使用以下ArrayAdapter -

公共ArrayAdapter(上下文的背景下,INT資源,T []對象)

參數

上下文當前上下文。

資源包含要在實例化視圖時使用的TextView的佈局文件的資源ID。

objects要在ListView中表示的對象。

只要改變行 -

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

OR

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