今天项目过程中发现了一些问题,自己本身没有系统的学习过android,就是想到什么做什么的。
今天在用 fragment(碎片)按钮点击的时候碰到了问题。
自己是依样画葫芦的把一些代码拷贝过来看的。但是在写完之后,代码没有任何报错,但是启动的时候程序就会crash
首先 当我们需要点击事件,就是要生成一个对象,和set他的click的方法
代码如下:
- addButton = (Button) rootView.findViewById(R.id.addmission);
- addButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Log.v("111", "2222");
- }
- });
此时 我们的代码是正常的,但是运行后就会crash,此时我们就要在类这里 让他 implements view.oncilcklisrener。之后就可以了,所以可能是很多新手会碰到的问题 这个就分享出来给大家看看。
详细代码如下:
- public class MissionFragment extends Fragment implements View.OnClickListener {
- public MissionFragment(){}
- public List<String> data;
- public ListView lv;
- public Button addButton;
- public ArrayAdapter<String> adapter;
- public int size = 1 ;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_mission, container, false);
- addButton = (Button) rootView.findViewById(R.id.addmission);
- addButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Log.v("111", "2222");
- }
- });
- lv = (ListView) rootView.findViewById(R.id.list1);
- String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
- "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
- "Linux", "OS/2","Item1","item2","item3" };
- ArrayAdapter<String> files = new ArrayAdapter<String>(getActivity(),
- android.R.layout.simple_list_item_1,
- values);
- lv.setAdapter(files);
- return rootView;
- }
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- }
- }