我有一个FragmentActivity,其中附加了一个Fragment。现在,在片段活动的onBackPressed的特定步骤中,我想要更改在Fragment中定义而不在Fragment Activity中定义的DRAWUT OF A BUTTON。
我的问题是:如何在我的片段活动的onBackPressed方法中更改该按钮的可绘制(在片段下定义)。
由于
答案 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));