今天在自学的过程中发现了一些问题,自己本身没有系统的学习过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
}
}