android计算器代码的说明

时间:2018-06-15 04:56:29

标签: java android calculator

我用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); 
            } 
       }

3 个答案:

答案 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