使ListFragment打开一个Activity(Make ListFragment open a Activity)

编程入门 行业动态 更新时间:2024-10-26 12:32:33
使ListFragment打开一个Activity(Make ListFragment open a Activity)

哦,所以我对Android工作室和Android应用程序开发人员来说真的很新,但我想制作一个应用程序,我的青年运动可以用作一种数据库,但我遇到了一个问题。

所以我有一个包含所有组的抽屉,如果你按下抽屉按钮,它会打开一个带有名字的ListFragment,我想要发生的是当我按下名称时,活动会显示一个名称为照片和电话号码的活动。 但我似乎无法弄清楚如何从该listFragment打开一个活动。

这是ListFragment.java

package app.jarifile.test; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; /** * Created by User on 23/09/2015. */ public class Givers_Fragment extends ListFragment { Intent i; String[] listitems = { "(Takleider)", "(Takleider)", "(Leider)", "(Leider)" }; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); } @Override public void onActivityCreated(Bundle savedInstanceState){ super.onActivityCreated(savedInstanceState); setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, listitems)); } @Override public void onListItemClick(ListView l, View v, int position, long id){ switch(position){ case 0: i = new Intent(getActivity(), Test_Activity.class); break; case 1: i = new Intent(getActivity(), Test_Activity.class); break; case 2: i = new Intent(getActivity(), Test_Activity.class); break; } startActivity(i); }

这是Test_Activity代码。

package app.jarifile.test; import android.app.Activity; import android.os.Bundle; /** * Created by User on 24/09/2015. */ public class Test_Activity extends Activity { @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.test_layout); }

这就是logcat所说的

09-28 18:48:28.915 24081-24081 / app.jarifile.test E / AndroidRuntime:FATAL EXCEPTION:main进程:app.jarifile.test,PID:24081 android.content.ActivityNotFoundException:无法找到显式活动类{app .jarifile.test / app.jarifile.test.Test_Activity}; 你在AndroidManifest.xml中声明了这个活动吗? 在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1793)的android.app.Instrumentation.execStartActivity(Instrumentation.java:1515)android.app.Activity.startActivityForResult(Activity.java:4026)的android.app上。位于android.app.Activity的android.app.Activity.startActivity(Activity.java:4297)的android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:748)上的Activity.startActivityForResult(Activity.java:3973) .startActivity(Activity.java:4265)位于android.widget的android.support.v4.app.ListFragment $ 2.onItemClick(ListFragment.java:58)的app.jarifile.test.Givers_Fragment.onListItemClick(Givers_Fragment.java:51) .AdapterView.performItemClick(AdapterView.java:339)在android.widget.AbsListView $ PerformClick.run(AbsListView.java:3721)的android.widget.Ab上的android.widget.Ab的播放器.run(AbsListView.java:5660)在android.os.Handler的android.os.Handler.handleCallback(Handler.java:739)。 在android.app.Looper.loop(Looper.java:145)上的dispatchMessage(Handler.java:95)位于android.app.ActivityThread.main(ActivityThread.java:6837)的java.lang.reflect.Method.invoke(Native)方法)在com.android.internal.os.ZygoteInit的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1404)的java.lang.reflect.Method.invoke(Method.java:372)上.main(ZygoteInit.java:1199)09-28 18:48:31.635 24081-24081 / app.jarifile.test I / Process:发送信号。 PID:24081 SIG:9

感谢您的帮助。

Oke so i'm really new to android studio and android app dev in general but i wanted to make a app that my youth movement could use as sort of a database but i ran into a problem.

So i have a drawer with all the groups and if you press the drawer buttons it opens a ListFragment with names and what i want to happen is when i press the name a activity shows up with the name a photo and a phone number. But i can't seem to figure out how to open a activity from that listFragment.

Here is the ListFragment.java

package app.jarifile.test; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; /** * Created by User on 23/09/2015. */ public class Givers_Fragment extends ListFragment { Intent i; String[] listitems = { "(Takleider)", "(Takleider)", "(Leider)", "(Leider)" }; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); } @Override public void onActivityCreated(Bundle savedInstanceState){ super.onActivityCreated(savedInstanceState); setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, listitems)); } @Override public void onListItemClick(ListView l, View v, int position, long id){ switch(position){ case 0: i = new Intent(getActivity(), Test_Activity.class); break; case 1: i = new Intent(getActivity(), Test_Activity.class); break; case 2: i = new Intent(getActivity(), Test_Activity.class); break; } startActivity(i); }

And this is the Test_Activity code.

package app.jarifile.test; import android.app.Activity; import android.os.Bundle; /** * Created by User on 24/09/2015. */ public class Test_Activity extends Activity { @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.test_layout); }

This is what logcat says

09-28 18:48:28.915 24081-24081/app.jarifile.test E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: app.jarifile.test, PID: 24081 android.content.ActivityNotFoundException: Unable to find explicit activity class {app.jarifile.test/app.jarifile.test.Test_Activity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1793) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1515) at android.app.Activity.startActivityForResult(Activity.java:4026) at android.app.Activity.startActivityForResult(Activity.java:3973) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:748) at android.app.Activity.startActivity(Activity.java:4297) at android.app.Activity.startActivity(Activity.java:4265) at app.jarifile.test.Givers_Fragment.onListItemClick(Givers_Fragment.java:51) at android.support.v4.app.ListFragment$2.onItemClick(ListFragment.java:58) at android.widget.AdapterView.performItemClick(AdapterView.java:339) at android.widget.AbsListView.performItemClick(AbsListView.java:1544) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3721) at android.widget.AbsListView$3.run(AbsListView.java:5660) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6837) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 09-28 18:48:31.635 24081-24081/app.jarifile.test I/Process﹕ Sending signal. PID: 24081 SIG: 9

Thank you for the help.

最满意答案

您尚未在AndroidManifest.xml声明Test_Activity 。 您的应用中的所有活动都必须在那里声明。 以下是可能的示例:

<manifest ... > <application ... > <activity android:name=".Test_Activity" /> ... </application ... > ... </manifest>

http://developer.android.com/guide/components/activities.html#Declaring

You have not declared Test_Activity in your AndroidManifest.xml. All Activities in your app must be declared there. Here's an example of what that might look like:

<manifest ... > <application ... > <activity android:name=".Test_Activity" /> ... </application ... > ... </manifest>

http://developer.android.com/guide/components/activities.html#Declaring

更多推荐

android,app,java,ListFragment,电脑培训,计算机培训,IT培训"/> <meta name="

本文发布于:2023-08-06 02:55:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1442003.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:ListFragment   Activity   open

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!