Java 如何在Android中使用onListItemClick()更改布局?
我试图通过单击我的Java 如何在Android中使用onListItemClick()更改布局?,java,android,xml,Java,Android,Xml,我试图通过单击我的列表视图来更改布局 这是我的Java类。 我有一个公交线路的ArrayList public类主扩展ListActivity{ @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); setListAdapter(新的ArrayAdapter)(这是android.R.layout.simple\u list\u
列表视图来更改布局
这是我的Java类。
我有一个公交线路的ArrayList
public类主扩展ListActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(新的ArrayAdapter)(这是android.R.layout.simple\u list\u item\u 1,
getResources().getStringArray(R.array.bus_routes));
}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
//TODO自动生成的方法存根
super.onListItemClick(左、右、位置、id);
意向意向=新意向(Main.this,Second.class);
星触觉(意向);
}
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="listview.com"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Main"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Second"
android:label="@string/title_activity_second" >
</activity>
</application>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="bus_routes">
<item>100 Pettah to Panadura</item>
<item>101 Pettah to Moratuwa</item>
<item>102 Kotahena to Moratuwa</item>
<item>103 Fort to Borella</item>
<item>104 Bambalapitya to Wattala</item>
<item>107 Fort to Elakanda</item>
</string-array>
</resources>
数组列表
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="listview.com"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Main"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Second"
android:label="@string/title_activity_second" >
</activity>
</application>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="bus_routes">
<item>100 Pettah to Panadura</item>
<item>101 Pettah to Moratuwa</item>
<item>102 Kotahena to Moratuwa</item>
<item>103 Fort to Borella</item>
<item>104 Bambalapitya to Wattala</item>
<item>107 Fort to Elakanda</item>
</string-array>
</resources>
100佩塔赫至帕纳杜拉
101佩塔赫至莫拉图瓦
102科塔赫纳至莫拉图瓦
103博雷拉堡
104 Bambalapitya至Wattala
107埃拉坎达堡
当您的活动继承自ListActivity时,您必须将id为android.R.id.list
的ListView
添加到活动的布局中
从日志中,如果第二个活动的内容不是列表,则必须从活动继承,而不是从列表活动继承。如果第二个活动的内容是列表,则在Second.xml
布局中,必须添加id为android.R.id.list
的ListView项,其id是android.R.id.list
n?当我单击Listview时,布局不会改变…当我单击手机时,显示我的应用程序已停止..当单击行onListItemClick
时,方法正在执行?使用日志检查否,当我单击显示大量错误的行logcat(红色clolor)时,它不会执行,因此您介意发布这些“大量错误”吗?这可能是程序没有达到预期效果的原因。只是说……这是我的第二个类public class second extends ListActivity{@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);}}我想他们的错误是onListItemClick()方法在定义意图对象之前,我们必须找到行单击的位置???修改第二个活动以从活动扩展而不是从ListActivity扩展,以避免。所选项目索引的位置作为int位置出现在onListItemClick属性中。如果要获取所选项目,请使用ArrayAdapter实例使用方法getItem(int-position)执行,该方法将在提供的位置返回所需的项