按钮是不可点击或可成为焦点 [英] Button is not clickable or focusable

查看:103
本文介绍了按钮是不可点击或可成为焦点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个按钮,在我的屏幕上的XML是这样的:

  

 <按钮的android:文本=让我们开始

          机器人:背景=@可绘制/ btnbg
          机器人:ID =@ + ID / btn_nav_let_strtd机器人:layout_width =WRAP_CONTENT
           机器人:layout_height =35px
           机器人:文字颜色=#FFFFFF
           机器人:layout_alignParentLeft =真
           机器人:drawableRight =@可绘制/箭头
           机器人:drawableLeft =@可绘制/ nav_getstart>
           < /按钮>
< / LinearLayout中>
 

设置点击listenrss

 私人的LinearLayout ll_get_started;
@覆盖
保护无效的onCreate(包savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
的setContentView(R.layout.navigation);
btn_nav_lets_get_strtd =(按钮)findViewById(R.id.btn_nav_let_strtd);

btn_nav_lets_get_strtd.setClickable(真正的);

}
私人无效setOnclickListeners(){
btn_nav_lets_get_strtd.setOnClickListener(新View.OnClickListener(){
    公共无效的onClick(视图v){
    的System.out.println(点击);
    Toast.makeText(NavigationScreen.thisFGD,Toast.LENGTH_SHORT).show();
    }
});
 

但是,当我尝试点击这个按钮,它既不是可以点击的,也可成为焦点。我如何将其设置为可点击的?

我现在用的是statelist绘制,不过这台集中或在单击时的背景。我想设置一个永久性的背景,这个按钮。

和被拉伸的是不是一个位图,它是一个可拉伸statlist btnbg。 XML是如下:

 <选择的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:constantSize =真
    机器人:抖动=真
    机器人:variablePadding =真正的>
    <项目
    机器人:可绘制=@可绘制/ nav_blue_bar
    机器人:STATE_ pressed =真
    />
 

解决方案

您应该添加一个监听器监听按钮所处的CLIC事件是这样的:

 按钮BTN =(按钮)findViewById(R.id.btn1);

//添加监听到你的按钮
btn.addOnClickListener(新OnClickListener(){
    @覆盖
    公共无效的onClick(视图v){

        Toast.makeText(YourActivity.this的按钮被点击...,3000).show();

    }
});
 

I have created a button in my screen's XML like this:

   <Button android:text="Lets Get Started"        

          android:background="@drawable/btnbg"  
          android:id="@+id/btn_nav_let_strtd"android:layout_width="wrap_content" 
           android:layout_height="35px" 
           android:textColor="#FFFFFF"
           android:layout_alignParentLeft="true"
           android:drawableRight="@drawable/arrow"
           android:drawableLeft="@drawable/nav_getstart">
           </Button>
</LinearLayout>

set click listenrss

private LinearLayout ll_get_started;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.navigation);
btn_nav_lets_get_strtd = (Button) findViewById(R.id.btn_nav_let_strtd); 

btn_nav_lets_get_strtd.setClickable(true);

}
private void setOnclickListeners() {
btn_nav_lets_get_strtd.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    System.out.println("clicked");
    Toast.makeText(NavigationScreen.this, "fgd",Toast.LENGTH_SHORT).show();
    }
});

But when I try to click this button, it is neither clickable nor focusable. How do I set it as clickable?

I am now using a statelist drawable, but it sets the background when focused or clicked. I want to set a permanent background to this button.

And the drawable is not a bitmap, it is a statlist drawable btnbg. XML is below:

    <selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:constantSize="true"
    android:dither="true"
    android:variablePadding="true" >
    <item
    android:drawable="@drawable/nav_blue_bar"
    android:state_pressed="true"
    />

解决方案

you should add a listener to listen the clic event on your button like this :

Button btn = (Button)findViewById(R.id.btn1);

//add the listener to your Button 
btn.addOnClickListener( new OnClickListener(){
    @Override
    public void onClick(View v ){

        Toast.makeText(YourActivity.this, "the button is clicked ...", 3000).show();

    }
});

这篇关于按钮是不可点击或可成为焦点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆