2012-01-18 17 views
0

ここで何がうまくいかないのですか?何らかの理由で、あるJavaクラスから他のJavaクラスにxmlレイアウトを切り替えたいのですが、2番目のクラスは実際にロードする正しいコードを持っています(私がここに投稿すると信じています)。自分の携帯電話私は彼らの両方、あなたはここにxmlレイアウトを切り替えるには?

を見れば、私は今だけ

  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ファイルにエラーはありません。だから私の質問は、私は意図と間違っているのですか? (私がそれが問題だと信じているから)

しかし、基本的には、ボタンを押して描画モードをフリーにすると、メインメニュー(最初のコード)から2番目のコードに変わります。レイアウト

私は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) 

1月18日03に入ったHERESにAndroidのランタイムエラー:50:48.432:E/AndroidRuntime(16938):android.app.Instrumentation.execStartActivityで(計装。 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(16 938):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):at dalvik.system.NativeStart.main (ネイティブメソッド)

+0

強制的に閉じると、logcatからスタックトレースを投稿してください。 –

+0

R.id.freeDrawはmain.xmlのこのボタンですか? –

+0

@Rich Talcik、clickイベントのコードが機能するはずなので、logcatを試してみてください。 – netadictos

答えて

0

1月18日03:50:48.432:E/AndroidRuntime(16938):致命的な例外:メイン 1月18日03:50:48.432:E/AndroidRuntime(16938):android.content.ActivityNotFoundException :明示的なアクティビティクラス{com.better.work.learning.lettersを見つけることができません。 and.more.awesome/com.better.work.learning.letters.and.more.awesome.freeDraw};あなたのAndroidManifest.xmlでこのアクティビティを宣言しましたか? 1月18日03:50:48.432:E/AndroidRuntime(16938):android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1541)

でこのLogcatは、あなたがmainfestファイルで2番目の活動を宣言していないこと

関連する問題