, ,
<LinearLayout ...>
<Button android:text="1" onClick="onButtonClicked" clickable="true" />
<Button android:text="2" onClick="onButtonClicked" clickable="true" />
<Button android:text="3" onClick="onButtonClicked" clickable="true" />
<Button android:text="4" onClick="onButtonClicked" clickable="true" />
</LinearLayout>
, onClick , java- findViewById.
, ,
public void onButtonClicked(View v){
Toast.makeText(getApplicationContext(), ((Button) v).getText() + " clicked", Toast.LENGTH_SHORT).show();
}
You do not need to repeat the same code for everyone. You can try the general receiver, for example:
private OnClickListener genericClickListener= new OnClickListener() {
public void Click(View v) {
}
};
Then all you have to do is register all three buttons to use this genericClickListener. That is, inside onCreate(),
Button firstbtn = (Button) findViewById(R.id.firstbtn);
Button secondbtn = (Button) findViewById(R.id.secondbtn);
Button thirdbtn = (Button) findViewById(R.id.thirdbtn);
firstbtn.setOnClickListener(genericClickListener);
secondbtn.setOnClickListener(genericClickListener);
thirdbtn.setOnClickListener(genericClickListener);
Third method
Create one function / method and onClick for all buttons calls the same Method/Function.
source
share