2012-09-18 111 views
0

在我的應用程序一開始,我創建一個類「abc.java」延伸活動,並做一些功能..與TabView的片段

但現在我已經決定實施TabView的和abc.java應在TabView的第一個選項卡..

我的問題是我的abc.java類擴展活動,現在當我將其更改爲碎片,它給我的錯誤。

如果我實現TabActivity,現在已經過時,它會正常工作,但現在如果我想用片段我要做什麼樣的變化?

我知道我不得不作出一些abc.java變化,但我不知道該怎麼辦that..I是新來的Android和努力得到這個done..Any幫助將是巨大的!

這裏是我的類代碼「abc.java」

public class CountAndMarkPage extends Activity 
{ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.count_mark); 

     //lots of code here 
    } 
} 

回答

0

你需要延長片段和覆蓋onCreateView使用相同的佈局資源。看看文檔中的this信息。

簡單的例子:

public class CountAndMarkPage extends Fragment { 
    public void onCreate(Bundle savedInstanceState){ 
    } 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState){ 
     // Inflate your layout 
     View myView = inflater.inflate(R.layout.count_mark, container, false); 

     // Any additional initialization 

     return myView; 
    } 
} 

到此佈局中訪問窗口小部件,你需要使用findViewById在膨脹根視圖像這樣

public class CountAndMarkPage extends Fragment { 
    public void onCreate(Bundle savedInstanceState){ 
    } 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState){ 
     // Inflate your layout 
     ViewGroup myView = (ViewGroup) inflater.inflate(R.layout.count_mark, container, false); 

     // Any additional initialization 
     TextView myTextView = (TextView) myView.findViewById(R.id.my_view); 
     // And so on 
     return myView; 
    } 
}  
+0

我用同樣的方法看在其他的例子,但它給了我錯誤的原因其實在OnCreate我abc.java我在用的其他部件too..and它給了我錯誤的findViewById方法,例如:mLayout =(RelativeLayout的)findViewById(R.id.rl1); blue_tv =(TextView)findViewById(R.id.blueTV); –

+0

您需要使用根視圖來訪問其子項,因爲您不再設置abc.java中活動的內容視圖。 – swhitewvu24

+0

Yess ..你是對的..即使我這樣做..我得到同樣的錯誤..這裏可能會有什麼錯? –