2011-01-30 2 views
0

Я довольно новичок в программировании на Android и, как правило, нахожу ответы на свои проблемы путем поиска, но этот я просто не могу и очень запутан. Сам код не показывает никаких проблем, так что я получаю 2 контрольных точки исключения Java, но я не знаю, как их исправить, поскольку они «неизвестны», но когда я запускаю его на эмуляторе, он говорит, что приложение неожиданно остановилось сила близка. Я пытаюсь отладить его, но я не знаю, как это сделать. любым способом здесь являются коды btw, приложение - это всего лишь тест, который он должен делать, это иметь кнопки, которые переводят меня на другие «страницы» и обратно. Буду признателен за любую помощь.Приложение не работает, новичок

Главная ява файл

package com.simbestia.original; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class original extends Activity implements View.OnClickListener { 
    Button button1, button2; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     button1 = (Button) findViewById(R.id.pagetwo); 
     button2 = (Button) findViewById(R.id.main); 

     button1.setOnClickListener(this); 
     button2.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
     case R.id.pagetwo: 
      setContentView(R.layout.pagetwo); 
      break; 
     case R.id.main: 
      setContentView(R.layout.main); 
      break; 
     } 
    } 
} 

Главная XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/hello" 
/> 
<Button android:text="pagetwo" android:id="@+id/pagetwo"    android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
</LinearLayout> 

Ну вот что я изменить код к этому только одна кнопка, но она работает с несколькими и я сделал класс для каждого страница ...

package com.simbestia.test; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class main extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button mainmenu = (Button) findViewById(R.id.mainmenu); 
    mainmenu.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      Intent myIntent = new Intent(view.getContext(), mainmenu.class); 
      startActivityForResult(myIntent, 0); 
     } 
    }); 
} 

}

Работает так, как я хотел, чтобы все это было хорошо, я думаю, что еще раз

+1

Какое поведение вы видите или не видите? На самом деле вы никогда не описывали проблему с кодом. –

+0

вы видите, что проблема я не знаю, в чем проблема (lol), все, что я знаю, это эмулятор, не запускающий приложение – ElBorrego

+0

, как выглядит ваш main.xml? мог бы разместить это, пожалуйста? –

ответ

0

В командной строке/терминале используйте ./adb logcat, чтобы видеть в режиме реального времени предупреждения, эррос и т. Д. С вашего устройства во время запуска приложения. Это должно вам очень помочь.

Примечание: не забывайте находиться в правильной папке ... <android-sdk-version>/platform-tools, вот где находится АБР.

0

Вам следует научиться отлаживать собственное приложение. Начиная с точки прерывания прямо в первой строке вашего метода onCreate().

Вы также можете посмотреть здесь: http://www.droidnova.com/debugging-in-android-using-eclipse,541.html

Другая возможность состоит в том, чтобы добавить вызов войти в первой строке onCreate(), так что вы можете увидеть, где начинается журнал приложение ...

Редактировать:

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

0

Некоторые вещи для проверки: убедитесь, что ваша исходная папка кода совпадает с вашим именем пакета (com.simbestia.original); убедитесь, что он создает (без ошибок), прежде чем вы попытаетесь запустить его и убедитесь, что ваш файл манифеста имеет свой атрибут пакета, установленный на ваше имя пакета (com.simbestia.original).

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