加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为TextView创建开关案例onClickListener

发布时间:2020-12-15 04:23:16 所属栏目:Java 来源:网络整理
导读:我刚刚开始使用 Java编程,并且在为可点击的TextView实现OnClickListener开关案例时遇到了一些麻烦.我已经设法为菜单项做了一个开关案例,但我显然不能理解它足以构成更一般的案例. 这是我的代码中对它很重要的部分 public class MyActivity extends Activity
我刚刚开始使用 Java编程,并且在为可点击的TextView实现OnClickListener开关案例时遇到了一些麻烦.我已经设法为菜单项做了一个开关案例,但我显然不能理解它足以构成更一般的案例.

这是我的代码中对它很重要的部分

public class MyActivity extends Activity implements SensorEventListener {
TextView tv,tv1,tv2,tv3;

@Override
public void onCreate(Bundle savedInstanceState) {
//get textviews
    tv = (TextView) findViewById(R.id.xval);
    tv1 = (TextView) findViewById(R.id.yval);
    tv2 = (TextView) findViewById(R.id.zval);
    tv3 = (TextView) findViewById(R.id.scalar);

然后我为每个TextView设置单独的点击监听器,例如

tv1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Do things
            }
        }
    });

但我正在尝试设置它,所以我有一个组合的OnClickListener,如:

@Override
public boolean onClickListener (View v) {
    switch (tv.findViewById()) {
        case tv:
            //Do things
            return true;
        case tv1:
            //Do things
            return true;
        case tv2:
            //Do things
            return true;
        case tv3:
            //Do things
            return true;

}}

我知道代码是非常错误的,但我似乎无法绕过它.我已经分配了我的findViewById,所以我不确定还有什么东西可以放入交换机!

谢谢!

解决方法

我会提供一个替代答案.首先,您必须创建一个OnClickListener,它将接收您的OnClick事件:

OnClickListener listener = new OnClickListener()
    {

        @Override
        public void onClick(View v)
        {
            switch (v.getId())
            {
                case R.id.xval:
                    //code
                    break;

                case R.id.yval:
                    //code
                    break;

                case R.id.zval:
                    //code
                    break;

                case R.id.scalar:
                    //code
                    break;

                default:
                    break;
            }

        }
    };

然后,您必须将该侦听器关联到您拥有的每个TextView:

tv.setOnClickListener(listener);
tv1.setOnClickListener(listener);
tv2.setOnClickListener(listener);
tv3.setOnClickListener(listener);

单击其中一个TextView后,将调用OnclickListener onClick()回调,它将检查您单击的TextView ID并相应地运行代码,具体取决于案例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读