2014-02-24 6 views
0

목표는 편집보기에서 텍스트를 가져와 버튼을 클릭하면 다른 활동의 TextView에 표시하는 것입니다. 내 문제 : 버튼을 클릭하자마자 애플리케이션이 멈 춥니 다.명시 적 의도 - Android

Main.java :

package com.satish.explicitintents; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 

public class Main extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

     final EditText et = (EditText) findViewById(R.id.editText1); 

     Button b = (Button) findViewById(R.id.button1); 
     b.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent intent =new Intent(Main.this, Second.class); 
      intent.putExtra("thetext", et.getText().toString()); 
      startActivity(intent); 
     } 
    }); 
    } 
} 

Second.java :

package com.satish.explicitintents; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class Second extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.second); 

     TextView tv = (TextView) findViewById(R.id.textView1); 
     tv.setText(getIntent().getExtras().getString("thetext")); 
    } 
} 

매니페스트 파일 :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.satish.explicitintents" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="9" 
    android:targetSdkVersion="18" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.satish.explicitintents.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="com.satish.explicitintent.Second" 
       android:label="@string/app_name"/> 
</application> 

</manifest> 

스택 트레이스 :

02-23 17:42:03.124: D/AndroidRuntime(4445): Shutting down VM 
02-23 17:42:03.124: W/dalvikvm(4445): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
02-23 17:42:03.144: E/AndroidRuntime(4445): FATAL EXCEPTION: main 
02-23 17:42:03.144: E/AndroidRuntime(4445): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.satish.explicitintents/com.satish.explicitintents.Second}; have you declared this activity in your AndroidManifest.xml? 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.app.Activity.startActivityForResult(Activity.java:2827) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.app.Activity.startActivity(Activity.java:2933) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at com.satish.explicitintents.Main$1.onClick(Main.java:28) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.view.View.performClick(View.java:2485) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.view.View$PerformClick.run(View.java:9080) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.os.Handler.handleCallback(Handler.java:587) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.os.Handler.dispatchMessage(Handler.java:92) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.os.Looper.loop(Looper.java:123) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at java.lang.reflect.Method.invoke(Method.java:507) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
02-23 17:42:03.144: E/AndroidRuntime(4445):  at dalvik.system.NativeStart.main(Native Method) 
02-23 17:42:24.654: W/KeyCharacterMap(4455): No keyboard for id 0 
02-23 17:42:24.654: W/KeyCharacterMap(4455): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 
02-23 17:42:25.904: D/AndroidRuntime(4455): Shutting down VM 
02-23 17:42:25.904: W/dalvikvm(4455): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
02-23 17:42:25.924: E/AndroidRuntime(4455): FATAL EXCEPTION: main 
02-23 17:42:25.924: E/AndroidRuntime(4455): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.satish.explicitintents/com.satish.explicitintents.Second}; have you declared this activity in your AndroidManifest.xml? 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.app.Activity.startActivityForResult(Activity.java:2827) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.app.Activity.startActivity(Activity.java:2933) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at com.satish.explicitintents.Main$1.onClick(Main.java:28) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.view.View.performClick(View.java:2485) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.view.View$PerformClick.run(View.java:9080) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.os.Handler.handleCallback(Handler.java:587) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.os.Handler.dispatchMessage(Handler.java:92) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.os.Looper.loop(Looper.java:123) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at java.lang.reflect.Method.invoke(Method.java:507) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
02-23 17:42:25.924: E/AndroidRuntime(4455):  at dalvik.system.NativeStart.main(Native Method) 
+0

당신은 또한 – Raghunandan

+0

을 XML 레이아웃을 게시 할 수 http://stackoverflow.com/questions/21995813/explicit-intents-in-android – InnocentKiller

+0

당신에게 수하십시오 stacktrace를 추가 하시겠습니까? – donfuxx

답변

0

android.content.ActivityNotFoundException : 명시 적으로 활동 등급을 찾을 수 없습니다. {com.satish.explicitintents/com.satish.explicitintents.Second}; 당신의 AndroidManifest.xml에서이 활동을 선언하셨습니까?

stacktrace는 매니페스트에서 활동을 선언하지 않았 음을 나타냅니다.

당신은

<activity android:name="com.satish.explicitintents.Second" 
//explicitintents not explicitintent 

확인

package="com.satish.explicitintents" 

또는 문제는 매니페스트 파일에 바로

<activity android:name=".Second" 
+0

고맙습니다 많은 사람들이 .. :) – SAtish

+0

@ user3338306 신입 회원입니다. pls 읽기이 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Raghunandan

0

에 패키지 이름을 잘못

변경을 얻었다. 다음과 같은 라인 -

<activity android:name="com.satish.explicitintent.Second" 
    android:label="@string/app_name"/> 

뿐인데

<activity android:name="com.satish.explicitintents.Second" 
      android:label="@string/app_name"/> 

패키지 이름이 잘못 교체합니다.

0

두 번째 활동의 경로를 지정하는 동안 매니페스트 파일에 오류가 있습니다. 당신은 사용할 필요가 : 다시 같은 질문을하는 이유는

<activity android:name="com.satish.explicitintents.Second" 
      android:label="@string/app_name"/>