Android ListView应用

一.应用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>

Android ListView应用,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。