ListView 控件类似于Windows操作系统的列表框,如浏览器的地址栏便是一个listview控件,其中列出 常用网址的列表,选择一个网址就可以进入该网站。
在此控件中我们用不到layout中的activity_main.xml ,即不需要编辑该文件,需要在values文件夹下创建一个新的文件arrays.XML然后在该文档中写入如下代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name ="portal_sites">
<item >"有道词典"</item>
<item >"baidu 百度"</item>
<item >" yahoo 奇摩"</item>
<item> "微软公司"</item>
<item >"中国移动"</item>
</string-array>
<string-array name ="portal_urls">
<item >http://fanyi.youdao.com/</item>
<item> https://www.baidu.com/</item>
<item >https://www.yahoo.com/</item>
<item> https://www.microsoft.com/zh-cn</item>
<item>http://www.10086.cn/sd/index_531_532.html</item>
</string-array>
</resources>
然后在src中的MainActivity.java 中编写代码如下:
package com.example.ch17;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends ListActivity {
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private String[] portals;
private String[] links;
public void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//取得字符串数组数据
portals =getResources().getStringArray(R.array.portal_sites);
links =getResources().getStringArray(R.array.portal_urls);
//创建ArrayAdapter 对象
ArrayAdapter<String> a =new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,portals);
setListAdapter(a);//指定适配器对象
}
protected void onListItemClick (ListView listView1 ,View v, int position ,long id){
super.onListItemClick(listView1, v, position, id);
String url =links[position];// 取得网址
Toast.makeText(this , portals[position], Toast.LENGTH_SHORT).show();
//启动浏览程序
Intent intent =new Intent (Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);
}
}
最后保存编辑即可。
结果是
点击有道词典就会出现有道词典的网站首页,点击百度就会出现百度的网站首页。