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并相应地运行代码,具体取决于案例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |