Android使用ListView构造复杂页面,并响应点击事件,通过intent跳转代码
基础知识及注意事项:
1、在需要使用Intent跳转到其他layout的时候,需要在AndroidManifest.xml文件中增加新的layout.
比如本文需要
<activity android:name="SongActivity"></activity>?
2、需要附加创建一个xml文件,作为listview的子项。
<?xml version="1.0" encoding="utf-8"?><RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:paddingBottom="4dip" android:paddingLeft="12dip"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ItemImage"> </ImageView> <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/ItemTitle" android:layout_toRightOf="@+id/ItemImage" android:textSize="30dip"></TextView> <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_toRightOf="@+id/ItemImage" android:layout_below="@+id/ItemTitle" android:id="@+id/ItemText"></TextView> </RelativeLayout>package hzy.webkit;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import android.app.Activity;import android.app.ListActivity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.Toast;public class WebkitActivity extends Activity??implements android.widget.AdapterView.OnItemClickListener?? {??????ArrayList<HashMap<String, Object>> mylist = null;??????@Override??????public void onCreate(Bundle savedInstanceState) {??????????super.onCreate(savedInstanceState);??????????setContentView(R.layout.main);??????????mylist = new ArrayList<HashMap<String, Object>>(); ??????????for(int i=0;i<15;i++)?? ??????????{?? ??????????????HashMap<String, Object> map = new HashMap<String, Object>();?? ??????????????map.put("icon", R.drawable.wlh);?? ??????????????map.put("ItemTitle", "王力宏");?? ??????????????map.put("ItemText", "春天的故事");?? ??????????????mylist.add(map);?? ??????????} ??????????ListView lv = (ListView)this.findViewById(R.id.listView1);??????????lv.setAdapter(initAdapter());??????????lv.setOnItemClickListener(this);????????????????}??????@Override????public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {????????Intent intent = new Intent(getApplicationContext(), SongActivity.class);??????????????WebkitActivity.this.startActivity(intent); ???? }??????public SimpleAdapter initAdapter(){??????????SimpleAdapter mSchedule = new SimpleAdapter(this,mylist,//数据来源????????????????????????????????????????R.layout.single,????????????????????????????????????new String[] {"icon","ItemTitle", "ItemText"},????????????????????????????????????????new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});?? ??????????return mSchedule;????????}}//Method 1//初始界面//获取web json或者 xml数据//代码生成html//webview加载该html数据显示//Method 2//初始界面//获取web json或者xml数据//原生listview 构造数据显示?