2017-02-22 17 views
-1

ボタンがクリックされても機能していません。それはアニメーションですが、私は何の誤りもありません。 '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(); 
} 

答えて

1

v.getContext()を使用する代わりに、getBaseContext()を試してください。問題が解決する可能性があります。

0

トーストが機能しない可能性があります。 onClickに簡単なログを追加してそれをチェックしようとしましたか?

もしそうなら、Chiro Answer(getBaseContext())を試してみてください。

0

Toast.makeText(activityname.this、 "Text Message"、Toast.LENGTH_LONG).show();

関連する問題