Reputation: 17330
i'm writing simple calculator for android and i want to create SubClass into main Class for moderate Operations. but after click on Buttons Toast
do not show any message and ButtonClickListener
does not work.
My source Code:
package ir.pishguy.tsms.peamoncalculator;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import static ir.tuxworld.tsms.peamoncalculator.R.layout.*;
public class MyActivity extends ActionBarActivity {
private String Operation;
private float NumberBf;
private EditText Scr;
private ButtonClickListener btnClick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(activity_my);
Scr = (EditText) findViewById(R.id.editText);
int idList[]={
R.id.button0,R.id.button1,R.id.button2,
R.id.button3,R.id.button4,R.id.button5,
R.id.button6,R.id.button7,R.id.button8,
R.id.button9,R.id.buttonEq,R.id.buttonDiv,
R.id.buttonClear,R.id.buttonSum,R.id.buttonTafrig
};
for (int id:idList){
View v= (View) findViewById(id);
System.out.println( id );
v.setOnClickListener(btnClick);
}
}
// New Class ButtonClickListener
private class ButtonClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"CLICKED !!",
Toast.LENGTH_LONG).show();
}
}
}
Upvotes: 0
Views: 303
Reputation: 8251
Try like below,
v.setOnClickListener(btnClick);
private OnClickListener btnClick= new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "clicked", Toast.LENGTH_SHORT).show();
}
};
Upvotes: 0
Reputation: 81568
Add a line:
btnClick = new ButtonClickListener();
for (int id:idList) {
...
You never actually instantiated your ButtonClickListener, that's all.
Upvotes: 2