2017-01-19 38 views
1

私は、クリックしたときに新しいアクティビティを開く必要があるonClick関数を割り当てた相対レイアウトを持っています。私は以下のコードを試みるときただし、アプリがクラッシュ:StartActivity Androidスタジオを使用して新しいアクティビティが開けない

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

を私はトーストを印刷するときしかし、それが正常に動作します:

Toast.makeText(this, "Worked", Toast.LENGTH_LONG).show(); 

私のxmlレイアウトは次のとおりです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/layout" 
    android:onClick="newactivity" 
    android:orientation="vertical"> 

方法私は呼び出しています:

public void newactivity (View v) { 

    //Toast.makeText(this, "Worked", Toast.LENGTH_LONG).show(); 
    startActivity(new Intent(MainActivity.this, newActivity.class)); 
} 

startActivityにコメントし、Toastのコメントを外したら(レイアウトがクリックされたときにWorkedが表示される)、メソッドはうまく動作します。

私が間違っていることはわかりません。私もまだ運を開口部の活動の他の方法を試していないが、している

Intent myIntent = new Intent(MainActivity.this, newActivity.class); 
MainActivity.this.startActivity(myIntent); 

を私は以下のエラーを取得しています:

java.lang.IllegalStateException: Could not execute method for android:onClick 
                      at android.view.View$DeclaredOnClickListener.onClick(View.java:4725) 
                      at android.view.View.performClick(View.java:5637) 
                      at android.view.View$PerformClick.run(View.java:22433) 
                      at android.os.Handler.handleCallback(Handler.java:751) 
                      at android.os.Handler.dispatchMessage(Handler.java:95) 
                      at android.os.Looper.loop(Looper.java:154) 
+1

は、「newActivity」がマニフェストに登録されていますか?プラス投稿完了のエラーの詳細 –

+0

新しい活動が登録されていないので、私は手動でそれを入れなければなりませんでした。 – SumOne

答えて

1

あなたはあなたの呼び出しはマニフェストでの活動を追加しましたか?

+0

を指摘してくれてありがとう。愚かな間違い。答えを受け入れる前に9分待つ必要があります! – SumOne

+1

私たちすべてに起こる;) – thushcapone

2

使用

Intent myIntent = new Intent(MainActivity.this, newActivity.class); 
startActivity(myIntent); 
finish(); 
+0

投票しました:) congratz on 1000+ rep – SumOne

+0

クリックリスナーはアンドロイドを削除しても動作しません:onClick = "newactivity" ' –

+0

ああ申し訳ありませんが、私の最初の行を読んでいませんでした –

0

は、あなたのランチャー活動宣言の後、このようなのAndroidManifest.xmlであなたの活動を宣言します。

<activity android:name=".NewActivity" /> 
関連する問題