如何在列表项单击时转到特定活动? [英] How to go to a particular activity on list item click?
问题描述
我正在 android 中开发一个应用程序,我在其中创建了几个项目的列表视图.我想在每个列表项单击时调用一个类.这是我的代码
I am developing an application in android in which i creating a list view of few items. I want to call a class on each list item click.Here is my code
import android.app.Activity;
import android.content.Intent;
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.Toast;
import com.example.listview.abc;
public class listview extends Activity implements OnItemClickListener {
public ListView lv1;
public String[] names = { "Abc", "Xyz", "Pqr", "Jap", "Jay",
"bla bla" };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv1 = (ListView) findViewById(R.id.list);
lv1.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, names));
lv1.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
if(position==0){
Intent i = new Intent(this, abc.class);
startActivity(i);
//Toast.makeText(this, "You pressed the first item in the list",
// Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "You pressed all other items in the list",
Toast.LENGTH_SHORT).show();
}
// else if(position==1){
// start another activity here...
}
问题是,当我单击第一个项目时它会崩溃,但单击其他项目会显示消息,但是当我单击该项目进行下一个活动时它会崩溃我试图关注stackoverflow的这个问题,但它没有用{如何从 ListView 跳转到下一个 Activity}这是日志猫的一部分
The problem is that when i click the first item it crashes but the click on other item shows the message but when i click on the item for next activity it crashes i tried to follow this question of stackoverflow but it didn't work { How to jump from ListView to next Activity } here is some part of log cat
06-09 12:29:52.111: DEBUG/AndroidRuntime(903): Shutting down VM
06-09 12:29:52.181: INFO/AndroidRuntime(903): NOTE: attach of thread 'Binder Thread #3' failed
06-09 12:29:52.181: INFO/ActivityManager(60): Start proc com.example.listview for activity com.example.listview/.listview: pid=910 uid=10039 gids={}
06-09 12:29:52.310: DEBUG/dalvikvm(903): Debugger has detached; object registry had 1 entries
06-09 12:29:54.670: INFO/ActivityManager(60): Displayed activity com.example.listview/.listview: 2616 ms (total 199904 ms)
06-09 12:29:55.249: DEBUG/dalvikvm(253): GC_EXPLICIT freed 176 objects / 12384 bytes in 3461ms
06-09 12:29:59.940: DEBUG/dalvikvm(125): GC_EXPLICIT freed 878 objects / 48664 bytes in 188ms
06-09 12:30:05.270: DEBUG/dalvikvm(262): GC_EXPLICIT freed 46 objects / 2240 bytes in 183ms
06-09 12:30:50.140: DEBUG/SntpClient(60): request time failed: java.net.SocketException: Address family not supported by protocol
06-09 12:32:52.731: DEBUG/dalvikvm(120): GC_FOR_MALLOC freed 9850 objects / 473648 bytes in 1222ms
06-09 12:35:50.171: DEBUG/SntpClient(60): request time failed: java.net.SocketException: Address family not supported by protocol
06-09 12:40:50.240: DEBUG/SntpClient(60): request time failed: java.net.SocketException: Address family not supported by protocol
06-09 12:45:50.311: DEBUG/SntpClient(60): request time failed: java.net.SocketException: Address family not supported by protocol
最重要的文件是
**
**
<?xml version="1.0" encoding="utf-8"?>
> <manifest xmlns:android="http://schemas.android.com/apk/res/android"
> package="com.example.listview" android:versionCode="1"
> android:versionName="1.0">
> <application android:icon="@drawable/icon" android:label="@string/app_name">
> <activity android:name=".listview" android:label="@s tring/app_name">
>
> <intent-filter>
> <action android:name="android.intent.action.MAIN" />
> <category android:name="android.intent.category.LAUNCHER" />
> </intent-filter>
> </activity>
>
> <activity android:enabled="true" android:name="abc" />
> </application>
> <uses-sdk android:minSdkVersion="3" />
> <uses-permission android:name="android.permission.INTERNET" />
> </manifest>
**
**
请看一下代码并帮助我
提前谢谢..
推荐答案
您是否在 AndroidManifest.xml 文件中正确地将 abc.class
注册为 Activity?这会导致崩溃.
Did you correctly register abc.class
as an Activity in your AndroidManifest.xml file? That would cause a crash.
这篇关于如何在列表项单击时转到特定活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!