我用android创建了一个简单的计算器。我搜索了谷歌,发现这段代码对我来说非常合适。但我无法理解在onCreate()方法上实现的代码片段。有人可以解释一下这部分代码吗?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(this, "Welcome :)", Toast.LENGTH_SHORT).show();
int[]Btn_Id={ R.id.Btn0, R.id.Btn1, R.id.Btn2, R.id.Btn3,R.id.Btn4, R.id.Btn5, R.id.Btn6, R.id.Btn7, R.id.Btn8, R.id.Btn9, R.id.BtnClear, R.id.BtnDecimal, R.id.BtnDivide, R.id.BtnMultiply, R.id.BtnSubtract, R.id.BtnAdd, R.id.BtnEqual };
for(int i: Btn_Id) {
((Button)findViewById(i)).setOnClickListener(this);
}
}
答案 0 :(得分:2)
<强> INT [] Btn_Id 强>
它是一个按钮数组,其中包含在布局资源文件
中定义的按钮ID以下代码用于将
fb11b768-4d9f-4e83-b7dc-ee677f496fc9 fbee83e8-a84a-4b22-8197-fc9cc924801f fc224f83-57f4-41eb-aee3-78f18d055704
设置为ClickListener
数组中的所有Button
Btn_Id
答案 1 :(得分:1)
活动开始时调用方法import {Injectable} from "@angular/core";
import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from "@angular/common/http";
import {Observable} from "rxjs/Observable";
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor() { }
//
intercept(req: HttpRequest<any>,
next: HttpHandler): Observable<HttpEvent<any>> {
const idToken = localStorage.getItem("token");
console.log('daniel3');
if (idToken) {
let cloned = req.clone({
setHeaders: {
Authorization: `Bearer ${idToken}`
}
});
console.log('daniel4');
return next.handle(cloned);
}
else {
console.log('daniel5');
return next.handle(req);
}
}
}
,它是活动的入口点。
活动为空窗口,onCreate
用于填充标识为setContentView
的资源
super.onCreate(savedInstanceState);,除了父类的onCreate()中的现有代码外,还告诉Dalvik VM运行代码。如果省略此行,则只运行您的代码。完全忽略现有代码。
R.layout.activity_main
表示在资源文件中定义并用于显示0和其他按钮。 R.id.Btn0....
变量保存已使用按钮的资源ID。
以下行为所有按钮分配按钮单击的监听器:
int[]Btn_Id
答案 2 :(得分:-1)
希望您能理解代码,直到
,听力才是您解决问题的方法Toast.makeText(this, "Welcome :)", Toast.LENGTH_SHORT).show();
在活动启动时会创建吐司消息“ welcome”。
int[]Btn_Id={ R.id.Btn0, R.id.Btn1, R.id.Btn2, R.id.Btn3,R.id.Btn4, R.id.Btn5, R.id.Btn6, R.id.Btn7, R.id.Btn8, R.id.Btn9, R.id.BtnClear, R.id.BtnDecimal, R.id.BtnDivide, R.id.BtnMultiply, R.id.BtnSubtract, R.id.BtnAdd, R.id.BtnEqual };
Btn_Id上方是一个整数数组,该数组将存储从btn0到btnEqual的all按钮的ID
for(int i: Btn_Id) {
((Button)findViewById(i)).setOnClickListener(this);
}
此函数为每个循环调用。它的工作方式类似于数组Btn_Id中的每个int ID并分配给int i。对于我设置的每个Button.setOnClickListner(this)\,这都是一个上下文。
如果您尝试查找android计算器的源代码,则可以免费收听。
下载源代码:https://www.youtube.com/playlist?list=PLdMmtAIsH0KYiKrdpbzat6t96Nb1_k3_1