在Fragment中进行button setonclicklistener的问题

来源:互联网 发布:java return递归 编辑:程序博客网 时间:2024/05/01 07:28

今天项目过程中发现了一些问题,自己本身没有系统的学习过android,就是想到什么做什么的。


今天在用 fragment(碎片)按钮点击的时候碰到了问题。


自己是依样画葫芦的把一些代码拷贝过来看的。但是在写完之后,代码没有任何报错,但是启动的时候程序就会crash

首先 当我们需要点击事件,就是要生成一个对象,和set他的click的方法

代码如下:

[java] view plaincopy
  1. addButton = (Button) rootView.findViewById(R.id.addmission);  
  2.         addButton.setOnClickListener(new View.OnClickListener() {  
  3.             @Override  
  4.             public void onClick(View v) {  
  5.                 // TODO Auto-generated method stub  
  6.                 Log.v("111""2222");  
  7.             }  
  8.         });  

此时 我们的代码是正常的,但是运行后就会crash,此时我们就要在类这里 让他 implements view.oncilcklisrener。之后就可以了,所以可能是很多新手会碰到的问题 这个就分享出来给大家看看。

详细代码如下:

[java] view plaincopy
  1. public class MissionFragment extends Fragment implements View.OnClickListener  {  
  2.       
  3.     public MissionFragment(){}  
  4.     public List<String> data;  
  5.     public ListView lv;  
  6.     public Button addButton;  
  7.     public ArrayAdapter<String> adapter;  
  8.     public int size = 1 ;  
  9.   
  10.     @Override  
  11.     public View onCreateView(LayoutInflater inflater, ViewGroup container,  
  12.             Bundle savedInstanceState) {  
  13.    
  14.         View rootView = inflater.inflate(R.layout.fragment_mission, container, false);  
  15.         addButton = (Button) rootView.findViewById(R.id.addmission);  
  16.         addButton.setOnClickListener(new View.OnClickListener() {  
  17.             @Override  
  18.             public void onClick(View v) {  
  19.                 // TODO Auto-generated method stub  
  20.                 Log.v("111""2222");  
  21.             }  
  22.         });  
  23.         lv = (ListView) rootView.findViewById(R.id.list1);  
  24.         String[] values = new String[] { "Android""iPhone""WindowsMobile",  
  25.                 "Blackberry""WebOS""Ubuntu""Windows7""Max OS X",  
  26.            "Linux""OS/2","Item1","item2","item3" };  
  27.   
  28.            ArrayAdapter<String> files = new ArrayAdapter<String>(getActivity(),   
  29.                     android.R.layout.simple_list_item_1,   
  30.                     values);  
  31.   
  32.             lv.setAdapter(files);  
  33.            
  34.         return rootView;  
  35.     }  
  36.   
  37.   
  38.   
  39.     @Override  
  40.     public void onClick(View v) {  
  41.         // TODO Auto-generated method stub  
  42.           
  43.     }  
  44.   
  45. }
1 0
原创粉丝点击