一.应用Android原本就有的ListView
1.其可以在Activity和Fragment中应用。
在layout中布局:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="7">
<ListView
android:paddingTop="2dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@id/android:list"
></ListView>
</LinearLayout>
2.在相应的Fragment.java中对应代码:
注意这里的Fragment继承了ListFragment
public class WrongFragment extends ListFragment {
private List<Map<String,String>> data=new ArrayList<Map<String,String>>();
// TODO: Rename parameter arguments, choose names that match
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View wrongView= inflater.inflate(R.layout.fragment_wrong, container, false);
Map<String,String> map1=new HashMap<String,String>();
map1.put("wrongType","职业道德与理论");
data.add(map1);
Map<String,String> map2=new HashMap<String,String>();
map2.put("wrongType", "专业能力考核");
data.add(map2);
setListAdapter(new SimpleAdapter(getActivity(),data,android.R.layout.simple_list_item_1,
new String[]{"wrongType"},
new int[]{android.R.id.text1} //名字在text1上显示
));
3.在WrongFragment对应的Activity中对应代码:
protected void onCreate(Bundle savedInstanceState) {
clickListViewItem();
}
public void clickListViewItem(){
final ListView wrongList=(ListView)findViewById(android.R.id.list);
wrongList.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(oldView!=null){
oldView.setBackgroundResource(0);
}
oldView=view;
view.setBackgroundResource(R.drawable.bg_tabselect);
Intent intent = new Intent();
intent.setClass(MainActivity.this,WrongActivity.class);
Map<String,String> map=(Map<String,String>)wrongList.getItemAtPosition(position);
Bundle bundle=new Bundle();
bundle.putString("wrongType",map.get("wrongType"));
intent.putExtras(bundle);
startActivity(intent);
}
});
}
写好后就转到对应的WrongActivity中去啦
效果如下:
二.自己定义Adapter -----ListView
这里我写几个步骤:
1.在XML不居中定义一个ListView
2.创建list_item.xml用来设置ListView中每个Item的布局。
3,.在对应的Activity中封装显示数据
4.自定义适配器,需继承BaseAdapter
5.获取对应的ListView,设置适配器
具体内容请关联:http://blog.csdn.net/hellohm/article/details/12356649
http://blog.csdn.net/hellohm/article/details/12685371
这里写得很详细,我就没有必要再列举啦。
2.1也是一样需要在Layout.xml中布局一个ListView,区别在于这个ListView的android:id是自己定义的。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/welcome2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/urlcheck"
/>
<ListView android:layout_height="wrap_content" android:id="@+id/jsonlistView" android:layout_width="fill_parent"></ListView>
</LinearLayout>