Переключение XML-макетов?

Что здесь не так? по какой-то причине я хочу переключить компоновку xml с одного java-класса на другой java-класс, второй класс действительно имеет правильный код для его загрузки (я верю, поскольку я опубликую здесь), и он должен загружаться при вызове, но вместо этого на мой телефон я продолжаю приближаться, я использую намерения, если вы посмотрите здесь

Я только попробовал одну кнопку на данный момент

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

            public class mainMenu extends Activity {
private static final int ACTIVITY_CREATE=0;

@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);  //This is calling the layout in the main.xml file if I          change the main.xml file name then I would 
       LinearLayout lin = (LinearLayout)findViewById(R.id.mainLayout);
    lin.setBackgroundResource(R.drawable.letterlist);
    Button free = (Button)findViewById(R.id.freeDraw);



    Button trace = (Button)findViewById(R.id.trace);
    Button sent = (Button)findViewById(R.id.sentence);




free.setOnClickListener(new OnClickListener() {
public void onClick (View v) {
    Intent myIntent = new Intent(v.getContext(), freeDraw.class); 
    startActivityForResult(myIntent, 0); 
}


});

}
      }

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

      public class freeDraw extends Activity implements OnGesturePerformedListener {
private EditText words; //calling my edit text and naming it to variable words
private static final String TAG = "Gesture Revealer"; 
GestureLibrary gestureLib = null; //calling my gesture library


@Override
       public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.free);  //This is calling the layout in trace.xml for now

Нет ошибок ни в одном из XML-файлов. Итак, мой вопрос в том, что я делаю не так с намерениями? (потому что я считаю, что это проблема.

Но в основном все, что я хочу сделать, это переключаться из главного меню (первый код), когда кнопка нажата, чтобы перейти в режим свободного рисования (второй код). Который воспитывает совершенно новый макет.

вот ошибка выполнения Android, я получил в LogCat

                           01-18 03:50:48.432: E/AndroidRuntime(16938): FATAL EXCEPTION: main
                           01-18 03:50:48.432: E/AndroidRuntime(16938): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.better.work.learning.letters.and.more.awesome/com.better.work.learning.letters.and.more.awesome.freeDraw}; have you declared this activity in your AndroidManifest.xml?
                      01-18 03:50:48.432: E/AndroidRuntime(16938):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1541)

01-18 03: 50: 48.432: E / AndroidRuntime (16938): на android.app.Instrumentation.execStartActivity(Instrumentation.java:1515) 01-18 03:50:48.432: E/AndroidRuntime(16938): на Android.app.Activity.startActivityForResult(Activity.java:2941) 01-18 03:50:48.432: E/AndroidRuntime(16938): на com.better.work.learning.letters.and.more.awesome.mainMenu$1.onClick(mainMenu.java:41) 01-18 03:50:48.432: E/AndroidRuntime(16938): на android.view.View.performClick(View.java:2532) 01-18 03:50:48.432: E/AndroidRuntime(16938): на android.view.View$PerformClick.run(View.java:9293) 01-18 03:50:48.432: E/AndroidRuntime(16938): на android.os.Handler.handleCallback(Handler.java:587) 01-18 03:50:48.432: E/AndroidRuntime(16938): на android.os.Handler.dispatchMessage(Handler.java:92) 01-18 03:50:48.432: E/AndroidRuntime(16938): на android.os.Looper.loop(Looper.java:143) 01-18 03:50:48.432: E/AndroidRuntime(16938): на android.app.ActivityThread.main(ActivityThread.java:4263) 01-18 03:50:48.432: E/AndroidRuntime(16938): в java.lang.reflect.Method.invokeNative(собственный метод) 01-18 03: 50: 48.432: E / AndroidRuntime (16938): в java.lang.reflect.Method.invoke(Method.java:507) 01-18 03:50:48.432: E/AndroidRuntime(16938): на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 01-18 03:50:48.432: E/AndroidRuntime(16938): в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 01-18 03:50:48.432: E/AndroidRuntime(16938): в dalvik.system.NativeStart.main(собственный метод)

1 ответ

Решение
01-18 03:50:48.432: E/AndroidRuntime(16938): FATAL EXCEPTION: main
01-18 03:50:48.432: E/AndroidRuntime(16938): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.better.work.learning.letters.and.more.awesome/com.better.work.learning.letters.and.more.awesome.freeDraw}; have you declared this activity in your AndroidManifest.xml?
01-18 03:50:48.432: E/AndroidRuntime(16938):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1541)

Этот Logcat означает, что вы не объявили свою вторую активность в файле манифеста.

Другие вопросы по тегам