对话里的选项

目标:在对话里出现了选择,一个选A说第一句,选B说第二句

用一个三个数的数组标记出a)选择点,b)第一句话,c)第二句话
尝试1:在chat ViewList之上叠放两个按钮,然后让按钮消失,直到选择点再出现
失败了,原因是Button setVisible的时候出不来

尝试2:在chat ViewList中插入一句有两个按钮的一条item。
挫折1:单击之后还可以再次单击。
解决方法:设一个flag,确保只能单击一次

boolean cbflag=true;
Button btn.setOnClickListener(new Button.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        if(cbflag) {
                        	//要做的事情
                            cbflag=false;
                        }
                    }
                });

挫折2:单击之后按钮颜色不变,即使已经设置了setEnable(false)
解决尝试1:把按钮设为动态按钮,在后台添加按钮
失败原因:按钮初始化的时候需要context,item没有context
解决方法:设一个全局int值来判断是哪一个按钮被按了,并用一个check函数来每一次都把该按钮设成不可用
挫折3:按钮单击后不会自动往后跳,要等下一次触发charListView的onTouch事件之后才会继续往下走
尝试解决1:在onClick中调用onTouch,不可行
解决方法:把onTouch中的内容化成一个函数:ContinueConversation(),然后在按钮单击时调用函数就可以了
挫折4:在有按钮的情况下,不点按钮,而点击charListView其他地方也会触发onTouch从而继续出现其他的文字。
解决方法:用progress在触发点前或触发点后,和之前的cbflag一起共同判断是否在出现了按钮而没有按下的阶段。

最后:给按钮加了图片,改了图片。
注:改图用的是
btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.button));
而不是
btn.setBackground(getResources().getDrawable(R.drawable.button));
setBackground()需要API16.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值