2012-02-19 93 views
2

填充spinner我有兩個片段A活性。其中之一是一個微調。當我填充它時,應用程序崩潰。 我不知道爲什麼。在android開發者中,它是如何在片段中感到困惑的,它看起來與正常活動不同。錯誤的片段

謝謝!

public class InstrumentsFrag extends Fragment { 

TextView tv1; 
Spinner sp; 

String[] os = {"Cupcake v1.5", "Donut v1.6", "Éclair v2.0/2.1", "Froyo v2.2", 
     "Gingerbread v2.2", "Honeycomb v3.0/3.1"}; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    return inflater.inflate(R.layout.instruments, container, false); 

} 
@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     sp = (Spinner) getActivity().findViewById(
       R.id.spinner1); 

     ArrayAdapter <CharSequence>adapter = ArrayAdapter.createFromResource(getActivity(), R.array.sections , android.R.layout.simple_spinner_item); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     sp.setAdapter(adapter); 
} 
+0

發佈logcat錯誤消息。 – kosa 2012-02-19 18:29:36

回答

10

我曾在那裏填充一個微調時,我的應用程序崩潰了同樣的問題。在我的情況下,我填充的微調是在fragment的XML文件中定義的,所以訣竅是使用findViewById()來找到它。我看到你的情況,你試圖用getActivity():

sp = (Spinner) getActivity().findViewById(R.id.spinner1); 

我也同時使用getActivity()和getView()試過了,既造成崩潰(空飛旋,分別空指針異常)。

我終於得到這個與片段的視圖替換getActivity()工作。我通過在調用onCreateView()時填充微調器來完成此操作。下面是一些片段從我的最終代碼:

private Spinner spinner; 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    View view = inflater.inflate(R.layout.myFragmentXmlFile, container, false); 
    // Now use the above view to populate the spinner. 
    setSpinnerContent(view); 
    ... 
} 

private void setSpinnerContent(View view) 
{ 
    spinner = (Spinner) view.findViewById(R.id.mySpinner); 
    ... 
    spinner.setAdapter(adapter); 
    ... 
} 

所以我經過片段視圖進入我的功能,並引用了視圖配置微調。這工作完美。 (和快速的聲明 - 我是新來的Android自己,所以也許如果需要通過更多的有經驗的人上面的一些術語可以糾正或澄清。)

希望它能幫助!

+0

我也做到了這一點,但想我的ArrayList加入到適配器請參閱這一點,如果有人能幫助我http://stackoverflow.com/questions/20682619/failed-to-fill-spinner-值 - 從 - 時仍然得到錯誤豆類使用Java的功能於機器人/ 20682670?noredirect = 1#comment30997993_20682670 – nida 2013-12-20 05:47:04