2013-04-09 65 views
0

对于我的题目问题,我很抱歉。我会尽力澄清我的问题。 我试着运行此代码来填充我的微调:如何解决片段内的视图?

public void UcitajPromenljive(int id) 
{ 
    if(id==0) 
    { 
     //#SPISAK 
    } 
    if(id==1) 
    { 
     //#PRETRAGA 
     try 
     { 
      Spinner oblasti = (Spinner) findViewById(R.id.spinnerOblasti); 
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.oblasti, android.R.layout.simple_spinner_item); 
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
      oblasti.setAdapter(adapter); 
     } 
     catch(NullPointerException e) 
     { 
      Log.e("LOAD_TAG", e.getMessage()); 
     } 
    } 
    if(id==2) 
    { 
     //#OSTALO 
    } 
} 

果然,我确实得到了NPE,但我已经在类似的问题,这个问题是在代码的第一行中。我的应用程序有三个不同的标签,已经物化为碎片。所以,当我运行findViewById(R.id.spinnerOblasti)应用程序返回NPE,因为我的布局,只有动作条和一个相对布局作为其财产,相对布局通过

class MyTabListener implements ActionBar.TabListener 
{ 
    public android.app.Fragment fragment; 
    private Toast lol; 
    public MyTabListener(android.app.Fragment fragment) 
    { 
     this.fragment = fragment; 
    } 

    public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
     ft.remove(fragment); 
     lol.cancel(); 
    } 
    public void onTabSelected(Tab tab, FragmentTransaction ft) { 
     lol = Toast.makeText(getApplicationContext(), tab.getText(), Toast.LENGTH_SHORT); 
     lol.show(); 
     ft.replace(R.id.okvir, fragment); 
     UcitajPromenljive(tab.getPosition()); 
    } 

    public void onTabReselected(Tab tab, FragmentTransaction ft) { 

    } 
} 

填充所以我的问题是 - 如何我是否处理某个.xml文件的子元素,它会扩展其中一个片段(制表符)?随意要求澄清,我知道这是我写的有点混淆。提前致谢。干杯

回答

0

存放在onCreateView()参考您的片段来看,即把结果视图中的片段全球范围内,即

protected View mFragementView; 

,然后当你需要你的片段布局中找到一些只做:

mFragmentView.findViewById(....); 

例子:

public class MyFragment extends Fragment { 

    protected View mFragmentView; 

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

    public void UcitajPromenljive(int id) { 
     View v = mFragmentView.findViewById(R.id.....); 
    } 
} 
+0

谢谢,但我将如何解决它在功能呢? 编辑:在UcitajPromenljive功能 – NitroNbg 2013-04-09 11:57:20

+0

请参阅编辑答案 – 2013-04-09 12:12:12

+0

仍然收到相同的错误(应用程序正在抛出NPE) – NitroNbg 2013-04-09 12:36:52