72

私が持っているアクティビティでは:

public class tabsmain extends Activity{
    public static Context appContext;

    public boolean lf_ch=false;

    public void onCreate(Bundle savedInstanceState){

tabsmain内のフラグメントからlf_chにアクセスし、場合によっては変更したいと思います。

public class tabquests extends Fragment{ 
    public CheckBox lc;
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)//onCreateView
    { 
lc.setChecked(//set it to lf_ch);

ただし、lf_chの値にアクセスできないようです。

4

14 に答える 14

64

これを試して:

public View onCreateView(...){
  tabsmain xxx = (tabsmain)getActivity();
  lc.setChecked(xxx.lf_ch);
}
于 2012-10-25T10:58:35.607 に答える
3

アクティビティからデータを取得する別の方法は、次の方法でアクティビティのインテントにアクセスすることです。

getActivity.getIntent().getExtras();

や。。など。

xml のフラグメントでアクティビティを開始し、何らかの方法でフラグメントの onCreate() 動作を制御したい場合に役立ちます。

PS:もちろん、最初に何かを意図する必要があります

于 2015-08-06T13:35:55.947 に答える
2

次の方法を試すことができます。

lc.setChecked(((yourpackagename)getActivity()).lf_ch);
于 2014-02-19T05:46:35.557 に答える
0

これを試して

public boolean lf_ch=false;
public class tabsmain extends Activity{

    public static Context appContext;
    public void onCreate(Bundle savedInstanceState){
于 2013-06-06T20:34:57.503 に答える
0

試しtabsmain.appContext.lf_chてみると、その変数の値が得られます。

その活動セットにもappContext = this

于 2012-10-25T11:00:58.040 に答える