2013-12-14 56 views
-1

傢伙,我需要在這你的幫助時,我創建了一個應用程序有3個活動(主,線性和表)它們如下所示我的應用程序崩潰,每次我從一個活動移到另一個

MainActivity

package com.hossa.layoutapp; 
     import android.app.Activity; 
     import android.content.Context; 
     import android.content.Intent; 
     import android.os.Bundle; 
     import android.view.Menu; 
     import android.view.View; 
     import android.view.View.OnClickListener; 
     import android.widget.Button; 
     import android.widget.EditText; 
     import android.widget.Toast; 

     public class MainActivity extends Activity { 
     Button Submit1,Table1,Linear1; 
     EditText Name1,Email1,Phone1; 



     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Submit1=(Button)findViewById(R.id.RelativeSubmit); 
     Table1=(Button)findViewById(R.id.RelativeTable); 
     Linear1=(Button)findViewById(R.id.RelativeLinear); 
     Name1=(EditText)findViewById(R.id.Name1); 
     Email1=(EditText)findViewById(R.id.Email1); 
     Phone1=(EditText)findViewById(R.id.Phone1); 

     Submit1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       //providing the user with help explaination// 
       Context context=getApplicationContext(); 
       String message1="your data is submitted"; 
       int Duration=Toast.LENGTH_LONG; 
       Toast t=Toast.makeText(context,message1, Duration); 
       t.show(); 
      } 
     }); 
     Table1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent i=new Intent(MainActivity.this,TableActivity.class); 
        startActivity(i); 
      } 
     }); 
     Linear1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent i=new Intent(MainActivity.this,LinearActivity.class); 
        startActivity(i); 
      } 
     }); 
     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
     } 

     } 
下面

LinearActivity

  package com.hossa.layoutapp; 

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

      public class LinearActivity { 

     public class MainActivity extends Activity { 
      Button Submit2,Table2,Relative1; 
      EditText Name2,Email2,Phone2; 
      @Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.linearlayout); 
       Submit2=(Button)findViewById(R.id.LinearSubmit); 
       Table2=(Button)findViewById(R.id.LinearTable); 
       Relative1=(Button)findViewById(R.id.LinearRelative); 
       Name2=(EditText)findViewById(R.id.Name2); 
       Email2=(EditText)findViewById(R.id.Email2); 
       Phone2=(EditText)findViewById(R.id.Phone2); 
       Submit2.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         // TODO Auto-generated method stub 
         //providing the user with help explaination// 
         Context context=getApplicationContext(); 
         String message1="your data is submitted"; 
         int Duration=Toast.LENGTH_LONG; 
         Toast t=Toast.makeText(context,message1, Duration); 
         t.show(); 
        } 
       }); 
       Table2.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         // TODO Auto-generated method stub 
         Intent j=new  Intent(getApplicationContext(),TableActivity.class); 
         startActivity(j); 
        } 
       }); 
       Relative1.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         // TODO Auto-generated method stub 
         Intent k=new Intent(getApplicationContext(),MainActivity.class); 
         startActivity(k); 
        } 
       }); 
      } 

      @Override 
      public boolean onCreateOptionsMenu(Menu menu) { 
       // Inflate the menu; this adds items to the action bar if it is present. 
       getMenuInflater().inflate(R.menu.main, menu); 
       return true; 
      } 

     } 


     } 

最後是表活動

package com.hossa.layoutapp; 

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

    public class TableActivity { 

public class MainActivity extends Activity { 
    Button Submit3,Relative2,Linear2; 
    EditText Name3,Email3,Phone3; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tablelayout); 
     Submit3=(Button)findViewById(R.id.TableSubmit); 
     Relative2=(Button)findViewById(R.id.TableRelative); 
     Linear2=(Button)findViewById(R.id.TableLinear); 
     Name3=(EditText)findViewById(R.id.Name3); 
     Email3=(EditText)findViewById(R.id.Email3); 
     Phone3=(EditText)findViewById(R.id.Phone3); 
     Submit3.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       //providing the user with help explaination// 
       Context context=getApplicationContext(); 
       String message1="your data is submitted"; 
       int Duration=Toast.LENGTH_LONG; 
       Toast t=Toast.makeText(context,message1, Duration); 
       t.show(); 
      } 
     }); 
     Linear2.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent j=new  Intent(getApplicationContext(),LinearActivity.class); 
       startActivity(j); 
      } 
     }); 
     Relative2.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent k=new Intent(getApplicationContext(),MainActivity.class); 
       startActivity(k); 
      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is  present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 


    } 

清單文件

<uses-sdk 
    android:minSdkVersion="8" 
    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.hossa.layoutapp.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="com.hossa.layoutapp.LinearActivity" 
     android:label="@string/app_name" 
     > 
     </activity> 
     <activity 
     android:name="com.hossa.layoutapp.TableActivity" 
     android:label="@string/app_name" 
     > 
     </activity> 
</application> 

</manifest> 

要做的主要事情是推動上的按鈕,並移動到下一個活動,但它總是崩潰。 ..請幫助thx

+3

從崩潰中發佈logcat – codeMagic

回答

0

您使用的代碼表活動和線性活動是錯誤的

public class TableActivity { 

public class MainActivity extends Activity { 

ONY使用public class TableActivity extends Activity {

public class Linearactivity extends Activity {

3

好吧,這可能會也可能不是答案,但我不知道我可以在評論中指出這一點,它是非常錯誤的,非常混亂。

在你有你的類聲明,例如

public class LinearActivity { 

public class MainActivity extends Activity { 

我甚至不知道該怎麼想到這一點,但沒有任何理由或想在每個ActivityMainActivity。你有你的MainActivity

public class MainActivity extends Activity { 

那麼你有你的其他Activities應該以同樣的方式,但用自己的類名,如申報。

public class LinearActivity extends Activity { 

解決這個問題,如果它沒有解決問題,那麼請張貼您的logcat崩潰。

0

你的代碼中有兩個大錯誤 - 1s是活動不應該作爲內部類,如果你的類LinearActivity是活動比你應該從Activity擴展它。第二個是當你試圖 調用其他活動

Intent j=new  Intent(getApplicationContext(),LinearActivity.class); 
      startActivity(j); 

你永遠得到一個錯誤的原因LinearActivity.class不是一個活動。

解決你的問題只是從活動延長LinearActivity和刪除內MainActivity類別

相關問題