问题描述
- android中响应Fragment界面中的控件的问题
- Fragment界面中 怎么对其中的控件比如按钮添加监听事件?先说好,在onCreateView()跟onActivityCreated()中添加是没有反应的
解决方案
在 fragment中:(点击button弹出toast)
@Override
public View onCreateView(LayoutInflater inflater ViewGroup container
Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment_blank container
false);
Button btn = (Button) inflate.findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) { Toast.makeText(getActivity()这里是BlankFragment。。。"" Toast.LENGTH_SHORT).show(); } }); return inflate;}
解决方案二:
OnClickListener
Fragment实现 implements View.OnClickListener接口
例如一个Button获取到Button控件对象后,Button.setOnClickListener(this);
在实现的接口方法中
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button:
//处理事件代码
break;
}
解决方案三:
一般确实是在 onCreateView 中添加的,如果编译不出错点击按钮没有反应,是不是同一个按钮监听了多个事件?
View view = inflater.inflate(R.layout.fragment null); Button btn = (Button) view.findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { //响应事件 } });
解决方案四:
一般确实是在 onCreateView 中添加的,如果编译不出错点击按钮没有反应,是不是同一个按钮监听了多个事件?
View view = inflater.inflate(R.layout.fragment null); Button btn = (Button) view.findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { //响应事件 } });
解决方案五:
一般是在onCreateView里添加监听的,inflate解析出fragment的ui,然后再findviewbyid,找到那个控件,再添加监听。如果监听不到,那估计是你代码的问题了。
解决方案六:
楼主啊,你这个问题解决了吗?0 0