ボタンがクリックされても機能していません。それはアニメーションですが、私は何の誤りもありません。 'this.getApplicationContext()'、 'view.getContext()または' data.this.getApplicationContext 'を使用しても、機能しません。 'data'クラスのコードは以下の通りです。ボタンがAndroidで動作しない
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data);
Button button = (Button) findViewById(R.id.data_btn_copy_opd_num);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(v.getContext(), "Text Message", Toast.LENGTH_LONG).show();
}
});`
XMLファイル:
また<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/data"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.android.stark_student_clinic.data"
android:filterTouchesWhenObscured="false"
android:fitsSystemWindows="true"
android:gravity="top|right"
android:focusable="false">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/data_scrollview">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/data_linearlayout">
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:id="@+id/data_gridlayout"
android:layout_gravity="center">
<EditText
android:layout_width="113dp"
android:layout_height="55dp"
android:inputType="textPersonName"
android:text="Name : "
android:ems="10"
android:id="@+id/data_txt_student_name"
android:layout_row="0"
android:layout_column="2"
android:enabled="false"
android:textColorLink="?attr/colorPrimaryDark"
android:textColor="?attr/colorPrimaryDark" />
<ImageView
android:layout_height="78dp"
app:srcCompat="@mipmap/ic_launcher"
android:id="@+id/data_imageview_photo"
android:layout_toStartOf="@+id/linearLayout"
android:layout_width="71dp"
android:layout_alignBottom="@+id/linearLayout"
android:layout_row="0"
android:layout_column="0"
android:layout_columnSpan="2"
android:layout_rowSpan="2"
android:layout_gravity="center"/>
<EditText
android:layout_width="122dp"
android:inputType="textPersonName"
android:text="OPD Number : "
android:ems="10"
android:id="@+id/data_txt_student_opd_number"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
style="@android:style/Widget.Material.EditText"
android:selectAllOnFocus="true"
android:layout_height="53dp"
android:enabled="false"
android:clickable="false"
android:contextClickable="false"
android:cursorVisible="false"
android:textColor="?attr/colorPrimaryDark"
android:layout_column="2"
android:layout_row="1"/>
<EditText
android:layout_width="121dp"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="DOB : "
android:ems="10"
android:id="@+id/data_txt_student_dob"
android:layout_column="2"
android:layout_row="2"
android:textColor="?attr/colorPrimaryDark"
android:enabled="false" />
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/data_btn_copy_opd_num"
android:layout_column="3"
android:layout_row="1"
android:gravity="center"
android:layout_gravity="center" />
</GridLayout>
<TextView
android:text="Text"
android:layout_width="match_parent"
android:layout_height="299dp"
android:id="@+id/data_lbl_falana_dakana" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
、onClickのプロパティは、それが定義されている場合に動作していない(掲示コードで、ここで行われていない)との誤差を与えている:
java.lang.IllegalStateException: Could not find method getOPD(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'data_btn_copy_opd_num'
これは、次の構文を持つクラスで実装されています
public void getOPD(View view) {
Toast.makeText(this, "Some Stuff", Toast.LENGTH_LONG).show();
}