2015-11-01 50 views
-5

我有一個包有兩個類 MainActivity:ActivityNotFoundException:無法找到明確的活動類{co.edu.unimagdalena.projecto/co.edu.unimagdalena.projecto.informacion2}

package co.edu.unimagdalena.projecto; 

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


public class MainActivity extends Activity implements OnClickListener { 


    String[] info; 
    private EditText nombre; 
    private EditText apellido; 
    private EditText email; 
    private EditText telefono; 
    private Button enviar; 
    final static String INFO = "co.edu.unimagdalena.projecto.informacion2"; 

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

     nombre=(EditText)findViewById(R.id.EditTextNombre); 

     apellido=(EditText)findViewById(R.id.EditTextApellidos); 

     email=(EditText)findViewById(R.id.EditTextCorreo); 

     telefono=(EditText)findViewById(R.id.EditTextTelefono); 

     enviar = (Button)findViewById(R.id.BtnEnviar); 

     enviar.setOnClickListener(this); 

     info=new String[4]; 
    } 

    public void onClick (View v){ 

     Intent intent = new Intent (this, informacion2.class); 
     intent.setClassName("co.edu.unimagdalena.projecto","co.edu.unimagdalena.projecto.informacion2"); 

     startActivity(intent); 


    } 


    public void pasarActidadInfo (View v){ 

     info [0] = nombre.getText().toString(); 
     info [1] = apellido.getText().toString(); 
     info [2] = email.getText().toString(); 
     info [3] = telefono.getText().toString(); 

     Intent act = new Intent (this, informacion2.class); 
     act.putExtra(INFO, info); 
     startActivity(act); 

    } 

和其他類調用它informacion2:

package co.edu.unimagdalena.projecto; 


import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.os.Parcel; 
import android.os.Parcelable; 
import android.widget.TextView; 

import co.edu.unimagdalena.projecto.MainActivity; 

public class informacion2 extends Activity { 

    String [] info; 
    TextView nombre,apellido,email,telefono; 

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

     nombre = (TextView) findViewById(R.id.mostrarNombre); 
     apellido= (TextView) findViewById(R.id.mostrarApellido); 
     email = (TextView) findViewById(R.id.mostrarEmail); 
     telefono = (TextView) findViewById(R.id.mostrarTelefono); 

     Intent men = getIntent(); 
     info = men.getStringArrayExtra(MainActivity.INFO); 

     nombre.setText(info[0]); 
     apellido.setText(info[1]); 
     email.setText(info[2]); 
     telefono.setText(info[3]); 



    } 
} 

,這是AndroidManifest.xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="co.edu.unimagdalena.projecto"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 

      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
    <activity 
     android:name=".informacion2" 
     android:label="@string/app_name"> 
    </activity> 

</manifest> 

**我已經開始嘗試一切,錯誤得不到糾正,我是新在Android Studio中

我可以修復的錯誤,但現在Android的工作室給我這個錯誤 了java.lang.RuntimeException:無法啓動活動ComponentInfo {co.edu.unimagdalena.projecto/co.edu.unimagdalena.projecto.informacion2}:java.lang.NullPointerException:試圖從null數組中讀取**

回答

0

setClassName將Package Context作爲第一個param setClassName(Context packageContext,String className):

在Android清單

<activity android:name="co.edu.unimagdalena.projecto.informacion2">

雖然從您的主要活動

intent.setClassName("co.edu.unimagdalena.projecto","co.edu.unimagdalena.projecto.informacion2"); 
+0

我試着但Android工作室給我同樣的錯誤 –

+0

可以修復錯誤,但現在android工作室給我這個錯誤java.lang.RuntimeException:無法啓動活動ComponentInfo {co.edu.unimagdalena.projecto/co.edu.unimagdalena.projecto。 informacion2}:java.lang.NullPointerException:嘗試從null數組讀取 –

0

你得到NullPointerException秒活動內開始活動,當您嘗試獲得陣列的價值。並且你正在填充pasarActidadInfo第一次活動的方法。問題在於,在第一次活動中填入陣列後,您不會從任何地方撥打pasarActidadInfo。所以,你的數組將是null。

嘗試在要開始新活動時調用pasarActidadInfo方法。 可能在按鈕的onClick

1

嘗試,包括內部應用程序清單文件,這樣

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     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=".informacion2" 
    android:label="@string/app_name"> 
</activity> 

</application> 

0

Always declare all android components (activities, service, receivers) inside the application tag/block and other configurations will be defined outside of application tag/block and inside manifest tag/block in Androidmanifest.xml.

複製並粘貼此代碼在您的manifest.xml其他活動

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="co.edu.unimagdalena.projecto"> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     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=".informacion2" 
    android:label="@string/app_name"> 
</activity> 
</application> 


</manifest> 
相關問題