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 clic
**
try this
**
public class DashbordActivity extends Activity {
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);
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);
}
});
}
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..
// on click any button
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnOENew) {
Intent intent = new Intent(getBaseContext(),
OceanSalesActivity.class);
startActivity(intent);
} else if (v.getId() == R.id.btnAENew) {
Intent intent = new Intent(getBaseContext(), AirSalesActivity.class);
startActivity(intent);
} else if (v.getId() == R.id.btnSearch) {
Intent intent = new Intent(getBaseContext(), SearchActivity.class);
startActivity(intent);
} else if (v.getId() == R.id.btnLogout) {
onLogout();
} else if (v.getId() == R.id.btnSync) {
Intent intent = new Intent(getBaseContext(), SyncActivity.class);
startActivity(intent);
}
}
Why do you need annonymous inner class when you have
btnOENew.setOnClickListener(this);
and your class implements OnClickListener
All you need is switch case in onClick
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.btnOENew :
// button btnOENew clicked
break;
case R.id.btnAENew :
// button btnAENew clicked
break;
... // similar for other buttons
}
}