2016-08-25 83 views
0

我是新來的android programming.i開始使用多個活動並運行應用程序,當我點擊「打開第二活動」/「打開第三活動」按鈕時,Genymotion模擬器說:不幸的是, FirstApp已經停止。並返回到Android menu..why?我收到錯誤這樣活動不起作用

java.lang.IllegalStateException: Could not execute method of the activity 
    at android.view.View$1.onClick(View.java:4020) 
    at android.view.View.performClick(View.java:4780) 
    at android.view.View$PerformClick.run(View.java:19866) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5257) 
    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:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
Caused by: java.lang.reflect.InvocationTargetException 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at android.view.View$1.onClick(View.java:4015) 
    at android.view.View.performClick(View.java:4780)  
    at android.view.View$PerformClick.run(View.java:19866)  
    at android.os.Handler.handleCallback(Handler.java:739)  
    at android.os.Handler.dispatchMessage(Handler.java:95)  
    at android.os.Looper.loop(Looper.java:135)  
    at android.app.ActivityThread.main(ActivityThread.java:5257)  
    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:903)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  
Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.jahnaviswaroop11gmail.firstapp/com.jahnaviswaroop11gmail.firstapp.SecondActivity}; have you declared this activity in your AndroidManifest.xml? 
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1777) 
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1501) 
    at android.app.Activity.startActivityForResult(Activity.java:3745) 
    at android.app.Activity.startActivityForResult(Activity.java:3706) 
    at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:820) 
    at android.app.Activity.startActivity(Activity.java:4016) 
    at android.app.Activity.startActivity(Activity.java:3984) 
    at com.jahnaviswaroop11gmail.firstapp.FirstActivity.showGreetings(FirstActivity.java:25) 
    at java.lang.reflect.Method.invoke(Native Method)  
    at java.lang.reflect.Method.invoke(Method.java:372)  
    at android.view.View$1.onClick(View.java:4015)  
    at android.view.View.performClick(View.java:4780)  
    at android.view.View$PerformClick.run(View.java:19866)  
    at android.os.Handler.handleCallback(Handler.java:739)  
    at android.os.Handler.dispatchMessage(Handler.java:95)  
    at android.os.Looper.loop(Looper.java:135)  
    at android.app.ActivityThread.main(ActivityThread.java:5257)  
    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:903)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  

我FirstActivity.java

public class FirstActivity extends AppCompatActivity { 
    TextView textView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.first_layout); 
     textView = (TextView) findViewById(R.id.greetings_text_view); 
    } 
    public void showGreetings(View view){ 
     String button_text = ((Button) view).getText().toString(); 
     if (button_text.equals("Open Second Activity")) 
     { 
      Intent intent = new Intent(this,SecondActivity.class); 

      startActivity(intent); 
     } 

     else if (button_text.equals("Open Third Activity")) 
     { 
      Intent intent = new Intent(this,ThirdActivity.class); 
      startActivity(intent); 

     } 
    } 

} 

我SecondActvity.java

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

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

我ThirdActivity.java

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

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

    } 
} 

我的f irstlayout.xml文件

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="greetings appear here" 
android:id="@+id/greetings_text_view"/> 
<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 

    android:text="Open Second Activity" 
    android:onClick="showGreetings" 
    android:layout_below="@+id/greetings_text_view" 

    android:id="@+id/button" /> 

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Open Third Activity" 
    android:onClick="showGreetings" 
    android:id="@+id/button2" 
    android:layout_below="@+id/button" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="71dp" /> 

我secondlyout XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Welcome to Second Activity" 
    android:id="@+id/textView" 
    android:layout_gravity="center_horizontal" /> 

我的第三個佈局的xml文件

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Welcome to third Activity" 
    android:id="@+id/textView2" 
    android:layout_gravity="center_horizontal" /> 

+0

閱讀它說「無法找到明確的活動類{COM日誌.jahnaviswaroop11gmail.firstapp/com.jahnaviswaroop11gmail.firstapp.SecondActivity};你是否在AndroidManifest.xml中聲明瞭這個活動?「在清單中添加這個活動應該可以解決你的問題。 –

回答

0

將此項添加到您的清單中<application>標記中。它應該解決你的問題。

<activity android:name="com.jahnaviswaroop11gmail.firstapp.SecondActivity"/> 
0

Androidmanifest.xml得到了不正確的數據,你必須添加關於第二和第三活動

<activity 
     android:name=".SecondActivity"/> 
    <activity 
     android:name=".ThirdActivity"/> 
0

你需要把兩個第一和你表現第二活動信息......

<activity android:name=".SecondActivity"/> 

<activity android:name=".ThirdActivity"/> 

並且獲得文本

Button button = (Button)view; 

String button_text= button.getText().toString(); 

並添加權限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
1

請發佈提問之前驗證異常堆棧跟蹤。 異常明確提到了這一問題的原因..

Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.jahnaviswaroop11gmail.firstapp/com.jahnaviswaroop11gmail.firstapp.SecondActivity}; have you declared this activity in your AndroidManifest.xml? 

添加SecondActvity到AndroidManifest.xml中<application>標籤

<activity android:name="com.jahnaviswaroop11gmail.firstapp.SecondActivity" />