我想在单独的文件中编写ButtonListener和Button init,而不是在MainActivity.java中编写
好的,我创建了MyButton类(扩展Button),编写了构造函数和OnClick.Listener。
但是如何将它包含在MainActivity中,它应该像
class MainActivity extends blabla
{
private MyButton my_button;
public OnCreate
{
my_button = findViewById(id); // this obviously doesnt work
问题是该按钮已经存在,已在layout.xml中定义
将layout.xml中的按钮与MyButton类连接的正确方法是什么,或者是在单独的源文件中编写按钮init(f.e. Caption change)和实现(OnClick)的另一种方法。
谢谢你,Stack上尉!
答案 0 :(得分:0)
my_button =(MyButton)findViewById(id);
函数View findViewById(int)返回一个View对象,它是calss Button的superClass。你必须明确地转换它。
例如,汽车,飞机,火车是The Transportation的子类。你可以说:"汽车是 交通。"但不能说:"交通工具是汽车。"我认为你能理解我的意思,并为我糟糕的英语道歉。