Android使用ListView构造复杂界面,响应点击事件,通过Intent跳转activity
16lz
2021-01-26
http://lvlayster.iteye.com/blog/1333343
基础知识及注意事项:
1、在需要使用Intent跳转到其他layout的时候,需要在AndroidManifest.xml文件中增加新的layout.
比如本文需要
- <activityandroid:name="SongActivity"></activity>
2、需要附加创建一个xml文件,作为listview的子项。
Xml代码
- <?xmlversion="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>
- packagehzy.webkit;
- importjava.util.ArrayList;
- importjava.util.HashMap;
- importjava.util.Map;
- importandroid.app.Activity;
- importandroid.app.ListActivity;
- importandroid.content.Intent;
- importandroid.os.Bundle;
- importandroid.view.View;
- importandroid.widget.AdapterView;
- importandroid.widget.ListView;
- importandroid.widget.SimpleAdapter;
- importandroid.widget.Toast;
- publicclassWebkitActivityextendsActivityimplementsandroid.widget.AdapterView.OnItemClickListener{
- ArrayList<HashMap<String,Object>>mylist=null;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mylist=newArrayList<HashMap<String,Object>>();
- for(inti=0;i<15;i++)
- {
- HashMap<String,Object>map=newHashMap<String,Object>();
- map.put("icon",R.drawable.wlh);
- map.put("ItemTitle","王力宏");
- map.put("ItemText","春天的故事");
- mylist.add(map);
- }
- ListViewlv=(ListView)this.findViewById(R.id.listView1);
- lv.setAdapter(initAdapter());
- lv.setOnItemClickListener(this);
- }
- @Override
- publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intposition,longid){
- Intentintent=newIntent(getApplicationContext(),SongActivity.class);
- WebkitActivity.this.startActivity(intent);
- }
- publicSimpleAdapterinitAdapter(){
- SimpleAdaptermSchedule=newSimpleAdapter(this,mylist,//数据来源
- R.layout.single,
- newString[]{"icon","ItemTitle","ItemText"},
- newint[]{R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});
- returnmSchedule;
- }
- }
- //Method1
- //初始界面
- //获取webjson或者xml数据
- //代码生成html
- //webview加载该html数据显示
- //Method2
- //初始界面
- //获取webjson或者xml数据
- //原生listview构造数据显示
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- 一句话锁定MySQL数据占用元凶
- 剖析andriod联系人(SQLITE3)应用
- 修改Android默认启动项launcher
- Android利用Jsoup解析实现简单新闻客户端
- android sdk 编译--如何将源代码加入android.jar,以及make原理
- Android中8个常用的操作
- android 数据储存——ContentProvider(4)
- Android(安卓)Studio使用技巧系列教程(三)