自定义按钮单击无法在Android中工作

时间:2014-10-29 11:31:41

标签: android

我在android中创建了一个自定义按钮控件,其中一个左图像,右箭头图像和中间的textview。我想在点击按钮时在按钮向下箭头中制作右箭头图像。为此,我在自定义按钮类

中编写了以下内容
public class ButtonWithTwoImagesAndOneText extends LinearLayout{
private ImageView _image, _arrow;
private TextView _text;
private View _viewupper, _viewlower, _viewlowersmall;

public ButtonWithTwoImagesAndOneText(Context context,AttributeSet attrs) {
    super(context, attrs, 0);
    Init(context);  


    RelativeLayout nameLayout= (RelativeLayout)findViewById(R.id.lytcontrollayout);
    nameLayout.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
                _arrow.setImageDrawable(getResources().getDrawable(R.drawable.arrowdown));
        }
    });
}

我在这样的布局中使用了这个按钮控件。

<com.example.Controls.ButtonWithTwoImagesAndOneText
        android:id="@+id/btnaccountsettings"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        </com.example.Controls.ButtonWithTwoImagesAndOneText>

在该布局的类中,我添加了按钮单击btnaccountsettings。

btnAccountSettings.setOnClickListener(new RelativeLayout.OnClickListener() {            
        @Override
        public void onClick(View arg0) {
            Toast.makeText(Settings.this, "Account Settings", Toast.LENGTH_SHORT).show();
        }
    });

现在,在运行应用程序时,向下箭头正在发生,但是吐司无效。请帮忙解决这个问题。

1 个答案:

答案 0 :(得分:1)

RelativeLayout.OnClickListener应为View.OnClickListener。

btnAccountSettings.setOnClickListener(new View.OnClickListener() {            
        @Override
        public void onClick(View arg0) {
            Toast.makeText(Settings.this, "Account Settings", Toast.LENGTH_SHORT).show();
        }
    });