如何开辟新的活动点击列表视图中的项目? [英] How open new activity clicking an item in listview?

查看:109
本文介绍了如何开辟新的活动点击列表视图中的项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法启动一个新的活动点击在某个项目上我的列表视图。我想这 onItemClick 可以打开 ApkInfoActivity ..其实当我点击没有发生。

 保护无效onItemClick(ListView的L,视图V,INT位置,长的ID,适配器视图<>母公司){
        super.onListItemClick(L,V,位置ID);

       最后ApplicationInfo应用= applist.get(位置);

       PackageInfo packageInfo =(PackageInfo)parent.getItemAtPosition(位置);

       AppDataActivity APPDATA =(AppDataActivity)getApplicationContext();
       appData.setPackageInfo(packageInfo);

       意图APPINFO =新的意图(getApplicationContext(),ApkInfoActivity.class);
       startActivity(APPINFO);

    }
 

我找不到problem..How我可以解决?

编辑与logcat的:

  10-29 17:14:07.710:E / AndroidRuntime(3535):致命异常:主要
10-29 17:14:07.710:E / AndroidRuntime(3535):java.lang.ClassCastException:android.content.pm.ApplicationInfo不能转换为android.content.pm.PackageInfo
10-29 17:14:07.710:E / AndroidRuntime(3535):在com.dd.application.MainActivity.onItemClick(MainActivity.java:369)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.widget.AdapterView.performItemClick(AdapterView.java:297)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.widget.AbsListView.performItemClick(AbsListView.java:1149)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.widget.AbsListView $ PerformClick.run(AbsListView.java:2939)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.widget.AbsListView $ 2.运行(AbsListView.java:3622)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.os.Handler.handleCallback(Handler.java:730)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.os.Handler.dispatchMessage(Handler.java:92)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.os.Looper.loop(Looper.java:137)
10-29 17:14:07.710:E / AndroidRuntime(3535):在android.app.ActivityThread.main(ActivityThread.java:5323)
10-29 17:14:07.710:E / AndroidRuntime(3535):在java.lang.reflect.Method.invokeNative(本机方法)
10-29 17:14:07.710:E / AndroidRuntime(3535):在java.lang.reflect.Method.invoke(Method.java:525)
10-29 17:14:07.710:E / AndroidRuntime(3535):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:743)
10-29 17:14:07.710:E / AndroidRuntime(3535):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559)
10-29 17:14:07.710:E / AndroidRuntime(3535):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

 公共类MenuYangu扩展ListActivity {

字符串类[] = {测验小事,注册新用户,好友列表,
下载文件,上传文件,选择PDF文件,记忆游戏,
Dzidza数学,写考试};

@覆盖
保护无效的onCreate(包savedInstanceState)
{
   // TODO自动生成方法存根
   super.onCreate(savedInstanceState);
   setListAdapter(新ArrayAdapter<字符串>(Menuone.this,
   android.R.layout.simple_list_item_1,班));

}

@覆盖
保护无效onListItemClick(ListView的L,视图V,INT位置,长ID)
{
     // TODO自动生成方法存根
     super.onListItemClick(L,V,位置ID);

如果(位置== 0){
意向意图=新的意图(这一点,QuizActivity.class);
startActivity(意向);
}
否则,如果(位置== 1){
意向意图=新的意图(这一点,SignUp.class);
startActivity(意向);
}
 否则,如果(位置== 2){
 意向意图=新的意图(这一点,FriendList.class);
 startActivity(意向);
 }
 }

 }

 }
 

I can't start a new activity clicking over an item in my listview. I want that onItemClick can open the ApkInfoActivity.. Actually when i click nothing happen.

protected void onItemClick(ListView l, View v, int position, long id, AdapterView<?> parent) {
        super.onListItemClick(l, v, position, id);

       final ApplicationInfo app = applist.get(position);

       PackageInfo packageInfo = (PackageInfo) parent.getItemAtPosition(position);

       AppDataActivity appData = (AppDataActivity) getApplicationContext();
       appData.setPackageInfo(packageInfo);

       Intent appInfo = new Intent(getApplicationContext(), ApkInfoActivity.class);
       startActivity(appInfo);

    }

I can't find the problem..How can i solve?

EDIT with logcat:

10-29 17:14:07.710: E/AndroidRuntime(3535): FATAL EXCEPTION: main
10-29 17:14:07.710: E/AndroidRuntime(3535): java.lang.ClassCastException: android.content.pm.ApplicationInfo cannot be cast to android.content.pm.PackageInfo
10-29 17:14:07.710: E/AndroidRuntime(3535):     at com.dd.application.MainActivity.onItemClick(MainActivity.java:369)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.widget.AdapterView.performItemClick(AdapterView.java:297)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.widget.AbsListView.performItemClick(AbsListView.java:1149)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2939)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.widget.AbsListView$2.run(AbsListView.java:3622)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.os.Handler.handleCallback(Handler.java:730)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.os.Looper.loop(Looper.java:137)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at android.app.ActivityThread.main(ActivityThread.java:5323)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at java.lang.reflect.Method.invokeNative(Native Method)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at java.lang.reflect.Method.invoke(Method.java:525)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:743)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559)
10-29 17:14:07.710: E/AndroidRuntime(3535):     at dalvik.system.NativeStart.main(Native Method)

解决方案

public class MenuYangu extends ListActivity {

String classes[] = { "Quiz Trivia", "Sign A New User", "Friend List",
"Download A File", "Upload A File", "Select Pdf files", "Memory Game",
"Dzidza Maths", "Write Exam" };

@Override
protected void onCreate(Bundle savedInstanceState) 
{
   // TODO Auto-generated method stub
   super.onCreate(savedInstanceState);
   setListAdapter(new ArrayAdapter<String>(Menuone.this,
   android.R.layout.simple_list_item_1, classes));

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) 
{
     // TODO Auto-generated method stub
     super.onListItemClick(l, v, position, id);

if (position == 0) {
Intent intent = new Intent(this, QuizActivity.class);
startActivity(intent);
}
else if (position == 1) {
Intent intent = new Intent(this, SignUp.class);
startActivity(intent);
}
 else if (position == 2) {
 Intent intent = new Intent(this, FriendList.class);
 startActivity(intent);
 } 
 }

 }

 }

这篇关于如何开辟新的活动点击列表视图中的项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆