在片段活动中查找片段的视图

时间:2014-10-28 09:39:23

标签: android fragment android-fragmentactivity

我有一个FragmentActivity,其中附加了一个Fragment。现在,在片段活动的onBackPressed的特定步骤中,我想要更改在Fragment中定义而不在Fragment Activity中定义的DRAWUT OF A BUTTON。

我的问题是:如何在我的片段活动的onBackPressed方法中更改该按钮的可绘制(在片段下定义)。

由于

3 个答案:

答案 0 :(得分:2)

当您单击后退时,将调用附加活动的onBackPress方法。

现在,如果你想在Fragment类中操作一些东西,那就创建一个接口。

按照这种方式: - >

第1步:

   Activity onBackPress(){
   myinterface.changebutton()
    }

第2步:

 public Interface myinterface{
 public void changeButton(){}
 }

第3步:

  Fragment class implements myinterface{

  onCreateView{
  // Intialize the Button view here}

  public void changeButton(){

  mybutton.setBackgroundResource();
  }

答案 1 :(得分:0)

我假设片段 LoginFragment 有一个按钮(公共范围) loginButton 。然后你可以在你的onBackPressed上做这样的事情:

LoginFragment fragment = new LoginFragment();// this is a class level variable 
// on in back pressed
fragment.loginButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_launcher) );

或者,您可以在LoginFragment上使用方法来更改backgroundDrawable:

public void changeBackGround(){
    loginButton.setBackgroundDrawable(getActivity().getResources().getDrawable(R.drawable.ic_launcher)
}
// call it like this
fragment.changeBackGround();

答案 2 :(得分:0)

我会这样做:

       ((Button)fragment.getView().findViewById(R.id.yourButtonId)).setBackground(getResources().getDrawable(R.drawable.your_drawable_id));