按钮侦听没有得到注册首先点击Android中 [英] Button Listener not get registered on first click In android
本文介绍了按钮侦听没有得到注册首先点击Android中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
由于我是新来的android在这里我得到了听众按钮的问题
我使用OnClickListener为busttons但它的多年平均值后进行第一次点击当我点击多个执行良好,但如何使人们有可能在第一次点击它的自我
这里是我的code:
公共类DashbordActivity扩展活动实现OnClickListener {的ImageButton btnLogout,btnSearch,btnOENew,btnAENew,btnSync;
//会话管理器类
是SessionManager会议= NULL;@覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.dashbord_activity); //会话管理器
会话=新SessionManager(中间getApplicationContext()); / *操作栏颜色变化上创建* /
ColorDrawable colorDrawable =新ColorDrawable(Color.parseColor(#FF7F24));
动作条动作条= getActionBar();
actionBar.setBackgroundDrawable(colorDrawable); / *从XML文件*获得资源/
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(); //上点击任何链接
}
//点击任意按钮
私人无效addButtonListener(){
//找到我们的按钮和钩了点击程序
btnOENew.setOnClickListener(本);
btnSearch.setOnClickListener(本);
btnAENew.setOnClickListener(本);
btnLogout.setOnClickListener(本);
btnSync.setOnClickListener(本);
}//点击任意按钮
@覆盖
公共无效的onClick(视图v){
btnOENew.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
意向意图=新意图(getBaseContext(),OceanSalesActivity.class);
startActivity(意向);
}
}); btnAENew.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
意向意图=新意图(getBaseContext(),AirSalesActivity.class);
startActivity(意向);
}
}); btnSearch.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
意向意图=新意图(getBaseContext(),SearchActivity.class);
startActivity(意向);
}
});
btnLogout.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
onLogout();
}
}); btnSync.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
意向意图=新意图(getBaseContext(),SyncActivity.class);
startActivity(意向);
}
});
}
解决方案
为什么你需要时,你有annonymous内部类
btnOENew.setOnClickListener(本);
和您的类实现 OnClickListener
所有你需要的是的onClick开关的情况下
@覆盖
公共无效的onClick(视图v){ 开关(v.getId())
{
案例R.id.btnOENew:
//按钮btnOENew点击
打破;
案例R.id.btnAENew:
//按钮btnAENew点击
打破;
... //其他按钮类似
}
}
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
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
}
}
这篇关于按钮侦听没有得到注册首先点击Android中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文