2014-01-18 23 views
1

需要一點幫助,我從那裏有一個登錄頁面在驗證後傳遞給next,下一頁是預定義佈局(swipeable tabs)現在我知道如何創建在不同的刷卡會有每個輕掃不同的Java文件不同的佈局,Java文件是如何使用片段類中的活動類

import android.app.Activity; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.provider.Settings.Global; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 
/** 
* @author sanketh 
* 
*/ 

public class profile extends Fragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.profile, container, false); 

     prof p1=new prof(); 
     p1.setname(Gloabal.getemail()); 
     return rootView; 


    } 
} 

此代碼工作正常,沒有任何問題,但現在我想用類似的TextView,EditText上佈局對象從這裏設置文本,我不能這樣做,因爲我的班級沒有擴展活動班,所以我創建了一個班級,在同一個文件中擴展活動,但它如何使我的班也跑與上述提供的類

class prof extends Activity 
    { 
     TextView t1; 
     datab dat; 
     @Override 

     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.profile); 
      t1=(TextView)findViewById(R.id.widget35); 
     } 
     prof() 
     { 
      //setname(Gloabal.getemail()); 
     } 
     public void setname(String e) 
     { 
      Toast.makeText(Gloabal.getcontext(), "hello", Toast.LENGTH_LONG).show(); 
      t1.setText("sanketh"); 
      /*Cursor cur=dat.getname(e); 
      cur.moveToFirst(); 
*/  
     } 
     /*@Override 
     public void onStart() 
     { 
      super.onStart(); 
      dat=new datab(this); 
      setname(Gloabal.getemail()); 
     }*/ 

    } 

這個額外添加類,所以我不能在你的片段顯示一些內容到頁面

+0

您可以使用this.getActivity() – Srikanth

+0

,只是回答我的許多問題的片段訪問活動,感謝名單一噸隊友 – user3203211

+0

讓我把它放在一個答案 – Srikanth

回答

0

試試這個..

TextView t1; 

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

     View rootView = inflater.inflate(R.layout.profile, container, false); 

     t1=(TextView) rootView.findViewById(R.id.widget35); 
     t1.setText("sanketh "+Gloabal.getemail()); 
     return rootView; 


    } 
+0

好吧你解決了我的一個概率,同樣的方式我想實例化對象另一個類名爲「數據」,例如數據dat;和內部oncreateview(){dat = new datab(this);},但它不允許使用這個變量,任何解決方案? – user3203211

+0

@ user3203211您可以按照原樣創建對象。但您無法訪問其他活動的文本視圖。 – Hariharan

+0

是的先生,我現在明白它是如何工作:) – user3203211

0

Owerride onAttach()方法,並保存活動的任何變量。 例如:

public class profile extends Fragment { 
    private Activity myActivity = null; 

    @Override 
    public void onAttach (Activity activity){ 
     this.myActivity = activity; 
    } 

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

     View rootView = inflater.inflate(R.layout.profile, container, false); 

     prof p1=new prof(); 
     p1.setname(Gloabal.getemail()); 
     return rootView; 


    } 
} 

後,您可以使用此活動。 例如

TextView myTextView = new TextView(myActivity) 
相關問題