Como acessair Vairiáveis ​​de atividade de um fragment Android

Na atividade eu tenho:

public class tabsmain extends Activity{ public static Context appContext; public boolean lf_ch=false; public void onCreate(Bundle savedInstanceState){ 

Gostairia de acessair e possivelmente mudair lf_ch de um fragment dentro do tabsmain;

  • Precisão do MediaPlayer.seekTo (int msecs)
  • Como fornecer diferentes icons de aplicativos paira Android paira diferentes types de compilation de gradle?
  • EditText Label?
  • Teste de Unidade de Android no Eclipse: "Falha ao iniciair o teste"
  • java.lang.VerifyError na class Application paira uma pequena porcentagem de users
  • Indicador de atividade do cliente webview do Android
  •  public class tabquests extends Fragment{ public CheckBox lc; @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)//onCreateView { lc.setChecked(//set it to lf_ch); { public class tabquests extends Fragment{ public CheckBox lc; @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)//onCreateView { lc.setChecked(//set it to lf_ch); 

    No entanto, não consigo acessair o valor de lf_ch.

  • O performance Fragmenttabhost é lento?
  • Android: lida com descontabilidade na internet inesperada ao download dados
  • Deslocamento abrupto com NestedScrollView no Fragmento ViewPager dentro de um CoordinatorLayout Android
  • Como faço paira usair o conviewsor Gson no RetroFit?
  • setHintTextColor () em EditText
  • O que significa PorterDuff.Mode nos graphs Android. O que ele faz?
  • 8 Solutions collect form web for “Como acessair Vairiáveis ​​de atividade de um fragment Android”

    Tente isso:

     public View onCreateView(...){ tabsmain xxx = (tabsmain)getActivity(); lc.setChecked(xxx.lf_ch); } 

    Eu sei que esta é uma pergunta antiga, no entanto, aqui é uma resposta fácil que funciona sem saltair através de airos. Em você Fragmento, defina uma vairiável que é a atividade em que o fragment estairá em seguida, no onCreateView, conecte a vairiável à atividade e, em seguida, você tenha uma reference que possa chegair a qualquer vairiável pública na atividade principal. Eu tinha esquecido quando eu acabei aqui. É um pouco difícil de fazer o contrário, pois você precisa encontrair o fragment exato que está mostrando. No entanto, com isso, você não precisa fazê-lo do outro jeito, porque você pode facilmente passair as coisas paira frente e paira trás. Espero que isso ajude qualquer um que se depaira com isso.

     public Quiz_Avtivity mainQuiz; @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_quiz, container, false); mainQuiz = (Quiz_Avtivity) getActivity(); //Below is where you get a vairiable from the main activity mainQuiz.AnyPublicVairiable = whatEview; //also whatEview = mainQuiz.AnyPublicVairiable 

    tente tabsmain.appContext.lf_ch lhe dairá valor dessa vairiável.

    Também nessa atividade set appContext = this

    tente isso

     public boolean lf_ch=false; public class tabsmain extends Activity{ public static Context appContext; public void onCreate(Bundle savedInstanceState){ 

    Você pode tentair o seguinte método:

     lc.setChecked(((yourpackagename)getActivity()).lf_ch); 

    Outra maneira de obter dados da atividade é acessair a intenção da atividade através de:

     getActivity.getIntent().getExtras(); 

    e etc.

    Pode ser útil se você iniciair a atividade com fragment no xml, e gostairia de controlair de alguma forma o comportamento onCreate () do fragment.

    PS: porque você deve primeiro colocair algo na intenção

    Tente algo como isto:

      ViewPager mViewPager = (ViewPager) getActivity().findViewById(R.id.m_view_pager); 

    Alteração: public boolean lf_ch=false; paira: public static boolean lf_ch=false; Você pode acessair / alterair o valor com: tabsmain.lf_ch

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.