2017-07-17 33 views
1

私はアプリを実行します。ボタンは反応しません。私は応答をチェックするためにトーストとログキャットを設定しました。しかし、非です。これは私のソースコードアンドロイドスタジオでマイボタンが反応しません

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    android:id="@+id/textView" /> 

<Button 
    android:text="Button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="14dp" 
    android:id="@+id/button" 
    tools:onClick="topClick" /> 

<Button 
    android:text="Button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/button" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="14dp" 
    android:id="@+id/button2" 
    tools:onClick="bottomClick" /> 

と私のJavaメソッドのある

を解決してください。

public class MyActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.my_layout); 

     //Testing the Toast and Log in action 
     Toast.makeText(this, "Can you see me?", Toast.LENGTH_SHORT).show(); 

     Log.i("info", "Done creating the app"); 
    } 


    //creating method topclick 
    public void topClick(View v) { 
     Toast.makeText(this, "Top button clicked", Toast.LENGTH_SHORT).show(); 

     Log.i("info", "The user clicked the top button"); 
    } 

    //creating method bottomclick 
    public void bottomClick(View v) { 
     Toast.makeText(this, "Bottom button clicked", Toast.LENGTH_SHORT).show(); 

     Log.i("info", "the user clicked the bottom button"); 
    } 

} 

答えて

0

両方のボタン用

tools:onClick

を交換してください。この変更が必要な理由を理解するのに役立ちますより多くのコンテキストについては

tools namespaceをよく読んで:

のAndroid Studioは、設計時の機能を可能にするツールの名前空間のXML属性の様々な(例えばをサポートしていますフラグメントとして表示するレイアウト)やコンパイル時の動作(XMLリソースに適用する縮小モードなど)が含まれます。あなたのアプリケーションをビルドするとき、ビルドツールはこれらの属性を削除するので、APKのサイズや実行時の動作に影響はありません。

0

どのボタンのどの方法がわからないので、その実装を使用することはお勧めできません。代わりにこれを試してください。

XML

<Button 
    android:text="Button" 
    android:id="@+id/button1" /> 

<Button 
    android:text="Button" 
    android:id="@+id/button2" /> 

ACTIVITY.JAVA

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.my_layout); 

    Button button01 = (Button)findViewById(R.id.button01); 
    Button button02 = (Button)findViewById(R.id.button02); 

    button01 .setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(MyActivity.this, "This is button01", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    button02 .setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(MyActivity.this, "This is button02", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 
関連する問題