我想调用一个方法,但参数可以是Button或ImageButton.我用不同的参数类型作为对象调用该方法两次.

在我的方法attributesOfButton中,我想分配相应的按钮类型,如下面的代码所示.

private void memCheck()

{

ImageButton imageButtonCam;

Button buttonCamCo;

attributesOfButton(imageButtonCam);

attributesOfButton(buttonCamCo);

}

private void attributesOfButton(Object button)

{

Object currentButton;

if (button instanceof ImageButton)

{

currentButton = (ImageButton) button;

}

if (button instanceof Button )

{

currentButton = (Button) button;

}

// do something with button like:

if (Provider.getValue == 1) {

currentButton.setEnabled(true);

}

}

但它不起作用.如果我这样做:

currentButton.setEnabled(true);

我明白了

Cannot resolve method setEnabled(boolean)

解决方法:

您的对象currentButton仍然定义为Object,因此即使您知道它是子类,也不能使用除Object之外的其他任何方法.您需要使用适当的类定义对象:

private void attributesOfButton(Object button)

{

if (button instanceof ImageButton)

{

ImageButton currentButton = (ImageButton) button;

// do stuff for ImageButton

}

if (button instanceof Button )

{

Button currentButton = (Button) button;

// do stuff for Button

}

}

标签:java,object,android,button,imagebutton

来源: https://codeday.me/bug/20190702/1359570.html

java参数类型不同_java – 两种不同的参数类型(将Object强制转换为Type)相关推荐

  1. 硬盘和计算机的接口类型有哪两种,常见的不同类型接口的固态硬盘有哪些

    固态硬盘的读写速度要比机械硬盘快.电脑用户在安装时,都会购买固态硬盘作为系统盘.一些老用户对电脑机器进行升级.升级和升级的首选是硬盘.立即改进.机械硬盘只有一种SATA接口,而硬盘与硬盘不同.它的接口 ...

  2. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

  3. java 匿名list,java创造匿名对象的两种方法

    在java中有时候需要一些匿名对象的使用.可能有些小伙伴拿还不会创造,其实我们在学习一些方法时都或多或少的接触过.本篇所要讲到的创造匿名对象总结了两种方法,分别是静态工具方法和Lambda表达式,我们 ...

  4. 两种依赖注入的类型是什么?

    两种依赖注入的类型分别是setter注入和构造方法注入. setter注入: 一般情况下所有的java bean, 我们都会使用setter方法和getter方法去设置和获取属性的值,示例如下: pu ...

  5. Java框架篇---spring aop两种配置方式

    Java框架篇---spring aop两种配置方式 第一种:注解配置AOP 注解配置AOP(使用 AspectJ 类库实现的),大致分为三步:  1. 使用注解@Aspect来定义一个切面,在切面中 ...

  6. 口腔微生物输入量的差异决定了与健康状况相关的两种微生物群肺炎类型

    口腔微生物输入量的差异决定了与健康状况相关的两种微生物群肺炎类型 〉原文:Differential Oral Microbial Input Determines Two Microbiota Pne ...

  7. java读取csv文件的两种方式

    java读取csv文件的两种方式 1.CsvReader读取 import com.csvreader.CsvReader; /*** CsvReader 读取* @param filePath* @ ...

  8. Java中HashMap遍历的两种方式

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  9. python装饰器带参数函数_python带参数装饰器的两种写法

    python带参数装饰器的两种写法 前言 最近在实现一个装饰器的过程中发现了一个很有意思的地方,在博客里面分享出来 不同的写法 三层函数嵌套,实现了可传参数的一个装饰器. import logging ...

最新文章

  1. Acwing 第 1 场热身赛 【完结】
  2. CRM数据如何让企业未卜先知
  3. supervisord的安装使用
  4. avr flash_AVR | USART家庭自动化
  5. python僵尸进程和孤儿进程_进程3.0——进程状态与僵尸进程、孤儿进程
  6. 笔记本电脑锁_2020年最好的10款笔记本电脑
  7. ES6——函数的name属性
  8. python 一组数据 正态分布散点图_python高维数据型图表矩阵散点图
  9. Looper对文件描述符的监控与处理
  10. 如何删除“运行”里面的内容
  11. 乌龟git配置ssh密钥
  12. 当vs2005番茄助手试用过期,并报错的解决方法
  13. 遥感图像处理学习一、概念及组成
  14. 《麦肯锡方法》读书笔记16
  15. 【输入法】五笔学习系列教程
  16. 原生ajax方法,原生Ajax怎么写
  17. 插入报错 Could not set property ‘id‘ of ‘class com.chen.flowerdemo.entity.Flower‘ with value
  18. DSP指纹识别系统硬件设计
  19. php 判断姓名,姓名的判断和命名方法
  20. 幻读与不可重复读区别

热门文章

  1. Python案例:猜数游戏
  2. 用php判断大月小月,php 获取月第一天和最后一天 | 学步园
  3. word vba 读出光标所在的列数_word高效技巧:这几个表格操作让工作更快速
  4. bzoj1876 [SDOI2009]SuperGCD 辗转相减+高精
  5. 【英语学习】【Daily English】U13 Holiday L03 I certainly didn't expect this
  6. 苹果css攻击,研究人员设计了一种新的CSS和HTML攻击 导致iPhone重启或冻结Mac
  7. VS2010平台下OpenCV编译和安装
  8. Null对象模式的用法
  9. GPU并行计算OpenCL(3)——图像处理
  10. python table_Python PrettyTable示例