2014-02-24 30 views
0

目標是從編輯視圖中獲取文本,並在單擊按鈕的其他Activity中將其顯示在TextView中。我的問題:只要我點擊按鈕應用程序停止。Explicit Intents-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

可以發佈XML佈局也 – Raghunandan

+0

爲什麼你又在問同一個問題,http://stackoverflow.com/questions/21995813/explicit-intents-in-android – InnocentKiller

+0

請你添加一個堆棧跟蹤? – 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

Thanx很多傢伙.. :) – SAtish

+0

@ user3338306因爲你是新的。請閱讀這個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"/> 
相關問題