質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

2回答

4277閲覧

Androidの画面遷移について

inoko

総合スコア7

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2015/10/13 08:40

編集2015/10/13 09:58

Androidアプリ開発初心者です。

画面遷移をしようとすると以下のようなエラーが出できて、困っています。
java.lang.IllegalStateException: Could not execute method of the activity
Caused by: java.lang.reflect.InvocationTargetException

Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.inoko.myapplication1/com.example.inoko.myapplication1.WebBrowser}; have you declared this activity in your AndroidManifest.xml?

プログラムは以下のとおりです。

MainActivity.java(アプリ起動時に呼び出される)

public EditText inpName;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inpName=(EditText) findViewById(R.id.editText);

}

public void start(View v){
Intent intent = new Intent(MainActivity.this, WebBrowser.class);
intent.putExtra("input", Name);
startActivity(intent);
}

ボタンを押すとstartメソッドが呼び出され、画面遷移するようにしています。

activity_main.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" android:weightSum="1">

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="名前を入力してください" android:layout_weight="0.07" xmlns:android="http://schemas.android.com/apk/res/android" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_gravity="center_horizontal" android:layout_weight="0.07" /> <Button android:layout_width="425dp" android:layout_height="wrap_content" android:text="START" android:id="@+id/start" android:onClick="start" android:layout_gravity="right" android:layout_weight="0.07" />
</LinearLayout>

WebBrowser.java(画面遷移先)

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_browser);
Intent intent = getIntent();
// 入力された文字の取得
name=intent.getStringExtra("input");

・・・・

}

(途中プログラムを省いています)

AndroidManifest.xmlは以下の一文を追加しています。

<activity android:name=".WebBrowser"></activity>

AndroidManifest全体です。

xml

1<?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.inoko.myapplication1" > 3<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="touch_test03.1" android:supportsRtl="true" android:theme="@style/AppTheme" > <!-- アプリを開発する上で作成した各Activityは、全てManifest.xmlに登録 --> 4 <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" > 5<intent-filter> <action android:name="android.intent.action.MAIN" /> 6<category android:name="android.intent.category.LAUNCHER" /> 7</intent-filter> 8</activity> 9</application> 10<activity android:name="com.example.inoko.myapplication1.WebBrowser"> </activity> <!-- アプリケーションが外部記憶領域に書き込む事を許可 --> 11<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- インターネット通信の許可 --> 12<uses-permission android:name="android.permission.INTERNET" /> 13<uses-permission android:name="android.permission.WAKE_LOCK"/> 14<uses-permission android:name="android.permission.VIBRATE"/> 15</manifest>

何卒、みなさまのお力添えのほど、
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RitsukiGoto

2015/10/13 09:30

yonaさんの言うとおりAndroidManifestが怪しいですね。 AndroidManifest全体を書いていただけませんかね?
inoko

2015/10/13 09:34

AndroidManifest全体です。 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.inoko.myapplication1" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="touch_test03.1" android:supportsRtl="true" android:theme="@style/AppTheme" > <!-- アプリを開発する上で作成した各Activityは、全てManifest.xmlに登録 --> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <activity android:name="com.example.inoko.myapplication1.WebBrowser"> </activity> <!-- アプリケーションが外部記憶領域に書き込む事を許可 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- インターネット通信の許可 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.VIBRATE"/> </manifest>
yona

2015/10/13 09:45

質問の編集をして、上記のマニフェストを追記してください。
guest

回答2

0

ベストアンサー

Manifestに記載したactivityの位置は正しいですか?
applicationの下層が正しい位置です.

投稿2015/10/13 09:28

swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

inoko

2015/10/13 09:36

投稿する場所を間違えてしまったようなので、もう一度投稿します。 activityはこの位置で正しいですか? AndroidManifest全体です。 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.inoko.myapplication1" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="touch_test03.1" android:supportsRtl="true" android:theme="@style/AppTheme" > <!-- アプリを開発する上で作成した各Activityは、全てManifest.xmlに登録 --> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <activity android:name="com.example.inoko.myapplication1.WebBrowser"> </activity> <!-- アプリケーションが外部記憶領域に書き込む事を許可 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- インターネット通信の許可 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.VIBRATE"/> </manifest>
swordone

2015/10/13 10:07 編集

</application>の後にあるので,当該行がActivityとして認識されていません. activityは<application>と</application>の間に記述してください.
inoko

2015/10/13 10:13

</application>の前に <activity android:name=".WebBrowser"></activity>を記述したら画面遷移ができました! 何日も悩んでいたので解決できてうれしいです。 回答してくださったみなさまありがとうございます。
guest

0

やはり、AndroidManifestが怪しいです。
<activity android:name=".WebBrowser"></activity>
name属性を完全修飾名で指定してみてください。

投稿2015/10/13 09:12

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

inoko

2015/10/13 09:27

回答ありがとうございます。 完全修飾名とは「パッケージ名.クラス名」のことですよね 今回作成したアプリのパッケージ名がcom.example.inoko.myapplication1なので、 AndroidManifestを <activity android:name="com.example.kotaro.myapplication1.WebBrowser"> </activity> と変更して実行してみましたが、同じエラーが出てアプリが落ちてしまいます。 OSはandroid4.4.4です。
yona

2015/10/13 09:53 編集

inokoとkotaroの部分が異なりますよね?どちらが正しいのでしょう。 あとはマニフェストのタグ構造が怪しいです。
inoko

2015/10/13 09:55

kotaroのところはinokoと読み替えてください。 諸事情があり、kotaroのところをinokoと置き換えて投稿していました。 ややこしくてすみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問