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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

1回答

7185閲覧

fragmentからactivityへの遷移について

333lovefighters

総合スコア10

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/10/08 07:19

編集2018/10/08 11:21

前提・実現したいこと

Android studioを使用しJavaでアプリを制作しており、その中の一つの機能として時間割アプリを製作中です。
時間割の各コマをButtonにし、そこから別のactivityへ遷移できるようにしたいのですが、
様々なサイトを参考してコードを入力してもうまくできずエラーが出てしまいます。
fragmentからactivityへの遷移はどのようにすればうまくいきますか・・・?
やり始めて日が浅いもので習熟度が足りていないのですがどうかご教授願います。

発生している問題・エラーメッセージ

cannot resolve symbol 'Intent' startActivity (android.content.Intent) in Fragment cannot be applied to (Intent)

該当のソースコード

Java
ソースコード

public class ScheduleFragment extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_schedule, null); } public void onStart(View v) { Intent intent = new Intent(this,zikanwarisyousai.class); startActivity(intent); } }

試したこと

http://hakoniwadesign.com/?p=11249
↑activity同士の遷移ですが要領は同じかと思いこのサイトを参考にしました。

補足情報(FW/ツールのバージョンなど)

Android Studio 3.13

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/10/08 08:06

ソースコードは```でくくってほしいのと、そのフラグメントのimport分あたりも載せていただけると。
退会済みユーザー

退会済みユーザー

2018/10/08 08:08

後 Intentの引数でとっているzikanwarisyousaiはActivityの継承クラスでしょうか?
guest

回答1

0

java

1 Intent intent = new Intent(getActivity(), zikanwarisyousai.class); 2 startActivity(intent);

でできませんか?


レイアウトXMLのButtonタグのandroid:onClickでonStartを指定しているということなのでしょうか(Fragmentが持つonStartメソッドと勘違いしていました)。android:onClickで指定したメソッドをFragmentに実装することはできません。記述してビルドしてもノーエラーで通ってしまいますが、実行して対象のボタンを押すと必ず落ちます。恐らくこれが起きているのでしょう。

別の方法にする必要がありますが、ボタンにIDを付けてsetOnClickListenerでリスナーを記述するのがいいでしょう。下記のような感じになります。

java

1 @Nullable 2 @Override 3 public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 4 View v = inflater.inflate(R.layout.fragment_schedule, container, false); 5 Button button = v.findViewById(R.id.button); 6 button.setOnClickListener(new View.OnClickListener() { 7 @Override 8 public void onClick(View v) { 9 Intent intent = new Intent(getActivity(), zikanwarisyousai.class); 10 startActivity(intent); 11 } 12 }); 13 return v; 14 }

投稿2018/10/08 08:40

編集2018/10/08 15:13
keicha_hrs

総合スコア6768

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

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

333lovefighters

2018/10/08 10:54

エラーは出なくなりましたが、起動してボタンを押すとアプリが落ちてしまいます。
退会済みユーザー

退会済みユーザー

2018/10/08 11:11

zikanwarisyousaiはAndroidManifest.xmlに登録されていますか?
333lovefighters

2018/10/08 11:27 編集

Java ソースコード ``` <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dokkyo.horieseminar.dokkyo"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".zikanwarisyousai" /> <activity android:name=".LectureEditActivity"></activity> </application> </manifest> ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問