fragment中的button属性为什么在activity中设置不了

响亮才是哥的范 2016-02-16 06:22:20
fragment中声明一个button,在onCreateView中初始化,在对应的activity中引用这个fragment中的button,并调用他的setEnable(),无论设置的true还是false都不起作用,默认什么值还是什么值。如果在onCreateView中初始化button后直接setEnable(),就起作用,但是不能动态改变啊。为什么啊?求高手支招,小弟拜谢!
...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Station- 2016-02-19
  • 打赏
  • 举报
回复
直接在fragment里定义一个setBtnEnable( boolean )方法,用activity调用fargment的setBtnEnable()方法去设置啊
jklwan 2016-02-17
  • 打赏
  • 举报
回复
怎么调用的?
  • 打赏
  • 举报
回复
这是fragment代码
public class BtnFragment extends Fragment
{

private BtnPressListener btnPressListener;
Activity activity;
public Button backBtn;
Button forwardBtn;
Button refreshBtn;
Button winBtn;
Button homeBtn;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v=inflater.inflate(R.layout.btn_fragment,container,false);
activity=getActivity();

//回调接口
try{
btnPressListener=(BtnPressListener)activity;
}catch(ClassCastException e){
throw new ClassCastException(activity.toString() + " must implement OnArticleSelectedListener");
}

backBtn=(Button)v.findViewById(R.id.back_btn);
forwardBtn=(Button)v.findViewById(R.id.forward_btn);
//backBtn.setEnabled(false);
//forwardBtn.setEnabled(false);
refreshBtn=(Button)v.findViewById(R.id.refresh_btn);
winBtn=(Button)v.findViewById(R.id.win_btn);
homeBtn=(Button)v.findViewById(R.id.home_btn);
backBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1)
{
btnPressListener.BtnOnPressListener(p1.getId());
}
});
forwardBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1)
{
btnPressListener.BtnOnPressListener(p1.getId());
}
});
refreshBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1)
{
btnPressListener.BtnOnPressListener(p1.getId());
}
});
winBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1)
{
btnPressListener.BtnOnPressListener(p1.getId());
}
});
homeBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1)
{
btnPressListener.BtnOnPressListener(p1.getId());
}
});
return v;
}

public interface BtnPressListener{
public void BtnOnPressListener(int id);
}
}

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧