Android字符串列表视图
您好,我遇到了listview示例,它引用了由外部类定义的字符串数组。我想问一下,当点击列表中的项目时,如何将其更改为?它将显示一个包含信息的新页面 提前谢谢,很抱歉我是android/Java的新手Android字符串列表视图,android,string,listview,Android,String,Listview,您好,我遇到了listview示例,它引用了由外部类定义的字符串数组。我想问一下,当点击列表中的项目时,如何将其更改为?它将显示一个包含信息的新页面 提前谢谢,很抱歉我是android/Java的新手 strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, HelloL
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloListView!</string>
<string name="app_name">HelloListView</string>
<string-array name="countries_array">
<item>Bahrain</item>
<item>Bangladesh</item>
<item>Barbados</item>
<item>Belarus</item>
<item>Belgium</item>
<item>Belize</item>
<item>Benin</item>
</string-array>
</resources>
package com.hope;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class HelloListView extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] countries = getResources().getStringArray(R.array.countries_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
strings.xml
你好,世界,HelloListView!
HelloListView
巴林
孟加拉国
巴巴多斯
白俄罗斯
比利时
伯利兹
贝宁
包com.hope;
导入android.app.Activity;
导入android.app.ListActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
公共类HelloListView扩展了ListActivity{
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
String[]countries=getResources().getStringArray(R.array.countries\u数组);
setListAdapter(新阵列适配器(此,R.layout.list_项,国家/地区));
ListView lv=getListView();
lv.setTextFilterEnabled(真);
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(getApplicationContext(),((TextView)视图).getText(),
吐司。长度(短)。show();
}
});
}
}
list_item.xml
您需要这样一个onClick监听器
OnItemClickListener itemListener=新建OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
int位置,长rowid){
Intent Intent=newintent().setClass(这是YourNewActivity.class);
星触觉(意向);
}
};
当你说“新页面”是什么意思?对话?新活动?还有别的吗?如果你是说一项新的活动@Reno让你走上了正确的道路。您可能需要一个开关(位置),并且对于每一行,您都有一个case row_ID:为此项指定正确的活动并启动它。
OnItemClickListener itemListener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long rowid) {
Intent intent = new Intent().setClass(this, YourNewActivity.class);
startActivity(intent);
}
};