2013-11-23 2 views
0

Я хочу сделать основной вид деятельности, у которого есть несколько кнопок, как я могу перейти от деятельности к другой. Почему, когда я нажал на кнопку, он сказал: К сожалению, mynameapp остановилодин вид деятельности другому

Эта работа должным образом:

public class MainActivity extends Activity { 

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

    BlackPixel blackPixel; 
    blackPixel = new BlackPixel(this); 
    setContentView(blackPixel); 
    blackPixel.requestFocus(); 

    }); 

} 

Почему это не работает?

public class MainActivity extends Activity { 




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

//  BlackPixel blackPixel; 
//  blackPixel = new BlackPixel(this); 
//  setContentView(blackPixel); 
//  blackPixel.requestFocus(); 


     Button buttonSave=(Button)findViewById(R.id.buttonDraw); 
     buttonSave.setOnClickListener(new View.OnClickListener() { 

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

    }  

Вот класс buttonDraw:

public class ButtonDraw extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 


      BlackPixel blackPixel; 
      blackPixel = new BlackPixel(this); 
      setContentView(blackPixel); 
      blackPixel.requestFocus(); 
    } 
} 

AndroidManifest.xml:

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

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="16" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     android:launchMode="singleInstance" 
     > 
     <activity 
      android:name="com.example.myfirstapp.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.example.buttons.ButtonDraw" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.buttonDraw" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

ответ

0

1- да, вы можете перейти к другому Activity по

startActivity(new Intent(MainActivity.this,ButtonDraw.class)); 

2- Да, вы можете закрыть Activity с следующий код после того, как приведенный выше код:

this.finish(); 

для изучения деятельности используйте это link и this

0

Вы можете написать следующую строку в Androidmanifest.xml: -

android:launchMode="singleInstance" 

, то вам не нужно писать finish() каждый раз

+0

да я упомянуть деятельность в манифесте XML, я просто обновить код на верхнем –

+0

Где я должен поставить это: android: launchMode = "singleInstance" –

+0

в тесте menifest's тег –

Смежные вопросы