2013-08-16 2 views
0
I am trying to learn screen navigation in android 

Я пытаюсь достигнуть следующимзапускает новую деятельность в Android

  • , когда я нажимаю на кнопку в деятельности он запускает новый вид деятельности
  • но конец деятельности должен содержать заднюю кнопку, когда на кнопке его должен вернуть первый вид деятельности

больного постом некоторых описательный код ниже

CopperchimneyDesc.java

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


Button PHOTOBUTTON=(Button) findViewById(R.id.CopperChimneyPhotosButton); 
      PHOTOBUTTON.setOnClickListener(new OnClickListener() { 

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

CopperChimneyPhotos.java

public class CopperChimneyPhotos extends Activity{ 

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

     setContentView(R.layout.copper_chimney_photos); 


     Button btn=(Button) findViewById(R.id.PhotoButton); 

     btn.setOnClickListener(new OnClickListener() { 

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

PS :: я объявил о новой деятельности в манифесте

моего журнала ошибки выглядят следующим образом ::

08-16 17:42:33.730: E/AndroidRuntime(444): FATAL EXCEPTION: main 
08-16 17:42:33.730: E/AndroidRuntime(444): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.project.findmybuffet/com.project.findmybuffet.CopperChimneyDesc}: java.lang.NullPointerException 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.os.Handler.dispatchMessage(Handler.java:99) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.os.Looper.loop(Looper.java:123) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.app.ActivityThread.main(ActivityThread.java:3683) 
08-16 17:42:33.730: E/AndroidRuntime(444): at java.lang.reflect.Method.invokeNative(Native Method) 
08-16 17:42:33.730: E/AndroidRuntime(444): at java.lang.reflect.Method.invoke(Method.java:507) 
08-16 17:42:33.730: E/AndroidRuntime(444): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-16 17:42:33.730: E/AndroidRuntime(444): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-16 17:42:33.730: E/AndroidRuntime(444): at dalvik.system.NativeStart.main(Native Method) 
08-16 17:42:33.730: E/AndroidRuntime(444): Caused by: java.lang.NullPointerException 
08-16 17:42:33.730: E/AndroidRuntime(444): at com.project.findmybuffet.CopperChimneyDesc.onCreate(CopperChimneyDesc.java:39) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
08-16 17:42:33.730: E/AndroidRuntime(444): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
08-16 17:42:33.730: E/AndroidRuntime(444): ... 11 more 

Любые идеи о том, как преодолеть это, я вставил соответствующий код.

+0

что на линии 39 в CopperChimneyDesc? – Ahmad

+1

Кнопка PHOTOBUTTON может быть глобальной переменной. –

+0

Что такое линия № 39? – AndroidLearner

ответ

0

попробовать что-то вроде этого:

Intent goToMainScreen = new Intent("com.dereaper.goalsmanager.MAINSCREEN"); 
startActivity(goToMainScreen); 
finish(); 

Вызов закончить только если вы хотите, чтобы деятельность, чтобы выйти после перехода к следующему.

1

вы просто звоните() метод отделка ..

btn.setOnClickListener (новый OnClickListener() {

 @Override 
     public void onClick(View v) { 

      finish(); 
     } 
    }); 

в вашей второй активности

+0

, что на самом деле не помогает ему для будущих проектов. – bofredo

+0

Использование 'finish()' для возврата не устранит проблему, вызывающую nullpointer, но это правильный способ вернуться к предыдущему Activity. В противном случае у вас будет постоянно растущий стек истории. – Simon

-1

Там должно быть что-то не так с вашим CopperChimneyDesc.class. Проверьте функцию onCreate. Особенно в строке 39. Существует нулевой указатель

Возвращение функции:

@Override 
public void onClick(View v) { 
    if(v == PHOTOBUTTON){ 
     // TODO Auto-generated method stub 
     Intent pht=new Intent(CopperChimneyDesc.this,CopperChimneyPhotos.class); 
     startActivity(pht); 
    } 
    if(v == OTHERBUTTON){ 
     finish(); 
    } 
} 
+0

-1 для неправильного отступов кода. –

0

попробовать так: вызов в OnClick Methed:

finish(); 
System.gc(); 

закончить свою деятельность и вернуться к прежней деятельности

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