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

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

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

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

Android

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

Android Studio

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

Q&A

解決済

1回答

8650閲覧

FragmentのjavaクラスでfindViewById()を使いたいのですがどうすれば良いのでしょうか?

edoooooo

総合スコア476

Java

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

Android

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

Android Studio

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

0グッド

1クリップ

投稿2016/09/30 22:01

編集2016/10/01 02:18

どうぞよろしくお願いします。FragmentのjavaクラスでfindViewById()を使いたいのですがどうすれば良いのでしょうか?

MyFragmentのjavaクラスです。

java

1package com.example.kanehiro.fragmentapplication; 2 3 4import android.os.Bundle; 5import android.support.v4.app.Fragment; 6import android.support.v4.app.FragmentManager; 7import android.view.LayoutInflater; 8import android.view.View; 9import android.view.ViewGroup; 10import android.widget.Button; 11import android.widget.EditText; 12import android.widget.LinearLayout; 13import android.widget.TextView; 14import android.widget.Toast; 15 16 17public class MyFragment2 extends Fragment implements View.OnClickListener { 18 19 //とりあえずここにさらなるステップの変数 20 private EditText mInputMessage; 21 private Button mSendMessage; 22 private LinearLayout mMessageLog; 23 private TextView mMemoMessage; 24 25 26 27 public MyFragment2() { 28 29 } 30 31 32 @Override 33 public View onCreateView(LayoutInflater inflater, ViewGroup container, 34 Bundle savedInstanceState) { 35 View view=inflater.inflate(R.layout.fragment_my_fragment2,container,false); 36 37 38 //何に使うのかわからん Button btn = (Button) view.findViewById(R.id.button); 39 40 view.findViewById(R.id.button).setOnClickListener(new View.OnClickListener(){ 41 @Override 42 public void onClick(View v){ 43 44 45 46 } 47 }); 48 return view; 49 } 50 51 52 @Override 53 public void onClick(View v) { 54 55 if(v.equals(mSendMessage)) { 56 57 if(mSendMessage==null||mSendMessage.length()==0){ 58 59 60 61 Toast.makeText(getActivity(),"文字が入力されていません",Toast.LENGTH_SHORT).show(); 62 }else { 63 //新しくエラーを消すために作った場所 64 //XMLのViewを初期化する 65 66 67 // ActivityからFragmentを取得 68 FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); 69 Fragment fragment = fragmentManager.findFragmentById(R.id.send_message); 70 // FragmentのViewを取得 71 View view = fragment.getView(); 72 //この下のコードに Can not resolve method 'findViewById'が出ます。 73 74 mInputMessage = (EditText)view.findViewById(R.id.input_message);//ユーザーが入力するフィールド 75 mSendMessage = (Button) view.findViewById(R.id.send_message);//SENDボタン 76 mMessageLog = (LinearLayout)view.findViewById(R.id.message_log);//入力履歴を表示するレイアウト 77 mMemoMessage = (TextView) view.findViewById(R.id.memo_message);//メモの履歴 78 //この次はデータベースや 79 mSendMessage.setOnClickListener(this); 80 } 81 } 82 83 84 } 85} 86 87 88```fragment_my_fragment2.xmlです。 89```xml 90<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 91 xmlns:tools="http://schemas.android.com/tools" 92 android:layout_width="match_parent" 93 android:layout_height="match_parent" 94 android:orientation="vertical" 95 android:paddingBottom="@dimen/activity_vertical_margin" 96 android:paddingLeft="@dimen/activity_horizontal_margin" 97 android:paddingRight="@dimen/activity_horizontal_margin" 98 android:paddingTop="@dimen/activity_vertical_margin" 99 tools:context="com.example.kanehiro.fragmentapplication.MyFragment2"> 100 101 102 <EditText 103 android:layout_width="wrap_content" 104 android:layout_height="wrap_content" 105 android:id="@+id/input_message" 106 android:layout_alignParentLeft="true" 107 android:layout_alignParentStart="true" 108 android:layout_toLeftOf="@+id/send_message" 109 android:layout_toStartOf="@+id/send_message" /> 110 111 112 <Button 113 android:id="@+id/send_message" 114 android:layout_width="wrap_content" 115 android:layout_height="wrap_content" 116 android:layout_alignParentEnd="true" 117 android:layout_alignParentRight="true" 118 android:text="SEND"/> 119 120 <ScrollView 121 android:layout_width="fill_parent" 122 android:layout_height="fill_parent" 123 android:layout_alignParentLeft="true" 124 android:layout_alignParentStart="true" 125 android:layout_below="@+id/input_message"> 126 <LinearLayout 127 android:layout_width="fill_parent" 128 android:layout_height="wrap_content" 129 android:orientation="vertical" 130 android:id="@+id/message_log"> 131 132 <TextView 133 android:id="@+id/memo_message" 134 android:layout_width="wrap_content" 135 android:layout_height="wrap_content" 136 android:layout_gravity="start" 137 android:text="memo一覧"/> 138 139 </LinearLayout> 140 </ScrollView> 141 142</RelativeLayout> 143 144

どうぞよろしくお願いします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/10/01 00:17

既に使ってますね。
edoooooo

2016/10/01 00:37 編集

自分もそのように感じていました。 この場合の対処法があればどうぞよろしくお願いします 他のコードも記載します。
guest

回答1

0

ベストアンサー

Fragment#getViewでFragmentのcontentViewを取得して使ってください。

投稿2016/10/01 00:59

yona

総合スコア18155

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

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

edoooooo

2016/10/01 01:44

ありがとうございます。 http://starzero.hatenablog.com/entry/2013/01/23/150352 このサイトを参考にして、エラーは消えたのですが、Message Gradle Buildにエラーがでました。見やすくするため質問欄に表示しました。どうぞよろしくお願いします。
yona

2016/10/01 01:57

Oと0を間違っていませんか あと、エラーが変わったら自分で調べてからコメントしてください。
edoooooo

2016/10/01 04:09

間違えていました。そしてその後のエラーがonCreate()でのNullPointだったので、探したところview.findViewById(R.id.send_message).このように変更したところ治ったのですが、画面変更後今度は、Buttonが機能していませんが、質問内容は解決したためベストアンサーとさせていただきます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問