As i am new to android here i got the problem for button listeners I am using OnClickListener for busttons but it doesnot performs after first click once i click more than one it performs well but how to make it possible on first click it self here is my code:
public class DashbordActivity extends Activity implements OnClickListener{
ImageButton btnLogout, btnSearch, btnOENew, btnAENew,btnSync;
// Session Manager Class
SessionManager session = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dashbord_activity);
// Session Manager
session = new SessionManager(getApplicationContext());
/* Action Bar Color change on create*/
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#FF7F24"));
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(colorDrawable);
/* get Resources from Xml file */
btnOENew = (ImageButton) findViewById(R.id.btnOENew);
btnAENew = (ImageButton) findViewById(R.id.btnAENew);
btnSearch = (ImageButton) findViewById(R.id.btnSearch);
btnLogout = (ImageButton) findViewById(R.id.btnLogout);
btnSync = (ImageButton)findViewById(R.id.btnSync);
addButtonListener();// on click any button
}
// on click any button
private void addButtonListener() {
// Find our button and hook-up the click routine
btnOENew.setOnClickListener(this);
btnSearch.setOnClickListener(this);
btnAENew.setOnClickListener(this);
btnLogout.setOnClickListener(this);
btnSync.setOnClickListener(this);
}
// on click any button
@Override
public void onClick(View v) {
btnOENew.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(getBaseContext(), OceanSalesActivity.class);
startActivity(intent);
}
});
btnAENew.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(getBaseContext(), AirSalesActivity.class);
startActivity(intent);
}
});
btnSearch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getBaseContext(), SearchActivity.class);
startActivity(intent);
}
});
btnLogout.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
onLogout();
}
});
btnSync.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent( getBaseContext() , SyncActivity.class);
startActivity(intent);
}
});
}
Why do you need annonymous inner class when you have
and your class implements
OnClickListener
All you need is switch case in
onClick
**
**
You are registering the listeners for the button two times..After first click on the button you again registering button with original listener..Remove all the button onClick methods and change your code like this..