在itemListner上使用显式意图时java应用程序崩溃
我有一个ListView
并适应了ArrayAdatper
,我想在单击任何项目时打开新活动,所以我使用了setOnItemClickListener
,然后使用了Intent
...
ListView mList = (ListView) findViewById(R.id.list);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(MainActivity.this,containerAll.class);
startActivity(intent);
}
});
插入containerAll.class
:我有两个片段类:
public class containerAll extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_pager);
ViewPager mPager = (ViewPager) findViewById(R.id.pager);
fragmentAdapter adapt = new fragmentAdapter(getSupportFragmentManager());
mPager.setAdapter(adapt);
}
}
当我单独运行每个类时,它会工作,但当我运行应用程序时,当我按下listView上的某个项目时,它会崩溃
那么有人知道为什么会发生这种情况吗? 这是自定义适配器类的名称:
public class cAdapter extends ArrayAdapter<arrayObject> {
public cAdapter(Activity context, ArrayList<arrayObject> object){
super(context,0,object);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//Create object from layout
if(convertView == null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.inside,parent,false);
}
arrayObject item= getItem(position);
TextView distance = (TextView) convertView.findViewById(R.id.distance);
// Change image inside the ifnlator
ImageView image = (ImageView) convertView.findViewById(R.id.pic);
image.setImageResource(item.imageRes);
TextView name = (TextView) convertView.findViewById(R.id.name);
name.setText(item.mName);
distance.setVisibility(View.GONE);
if(item.distance != null) {
distance.setText(item.distance);
distance.setVisibility(View.VISIBLE);
}
return convertView;
}
}
这是logCat:
09-16 05:22:42.150 8406-8406/com.example.安卓.mallsguide
D/AndroidRuntime: Shutting down VM
09-16 05:22:42.150 8406-8406/com.example.安卓.mallsguide
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.安卓.mallsguide, PID: 8406
安卓.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.安卓.mallsguide/com.example.安卓.mallsguide.containerAll}; have you declared this activity in your AndroidManifest.xml?
at 安卓.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1777)
at 安卓.app.Instrumentation.execStartActivity(Instrumentation.java:1499)
at 安卓.app.Activity.startActivityForResult(Activity.java:3942)
at 安卓.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:54)
at 安卓.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75)
at 安卓.app.Activity.startActivityForResult(Activity.java:3889)
at 安卓.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:708)
at 安卓.app.Activity.startActivity(Activity.java:4213)
at 安卓.app.Activity.startActivity(Activity.java:4181)
at com.example.安卓.mallsguide.MainActivity$1.onItemClick(MainActivity.java:39)
at 安卓.widget.AdapterView.performItemClick(AdapterView.java:334)
at 安卓.widget.AbsListView.performItemClick(AbsListView.java:1531)
at 安卓.widget.AbsListView$PerformClick.run(AbsListView.java:3667)
at 安卓.widget.AbsListView$3.run(AbsListView.java:5590)
at 安卓.os.Handler.handleCallback(Handler.java:739)
at 安卓.os.Handler.dispatchMessage(Handler.java:95)
at 安卓.os.Looper.loop(Looper.java:145)
at 安卓.app.ActivityThread.main(ActivityThread.java:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
# 1 楼答案
错误本身就说明了一切。将您的活动添加到清单中,错误就会消失。 像这样
希望这有帮助。:)