取消(getIntent()getExtras()getInt(“notificationID”));
为什么我们在这些方法之间使用点运算符?因为cancel(int)方法只需要一个整数参数。它有3个方法作为参数.....代码究竟会做什么..?
答案 0 :(得分:3)
这是一个简短的写作方式:
Intent intent = getIntent();
Bundle bundle = intent.getExtras(); // or getIntent().getExtras();
int i = bundle.getInt(“notificationID”); // or getIntent().getExtras().getInt(“notificationID”);
cancel(i); // or cancel(getIntent().getExtras().getInt(“notificationID”));
您所做的是在每个方法的返回值上调用方法。
答案 1 :(得分:2)
您应该首先尝试完成面向对象编程的概念。
要回答您的问题,getIntent()
会返回intent类型的对象。我们在Intent对象上调用getExtras()
,它返回Bundle类型的对象。然后我们在Bundle对象上调用getInt()
以最终得到我们想要传递给cancel()
方法的 int 。
该陈述相当于:
Intent i = getIntent();
Bundle b = i.getExtras();
int id = b.getInt("notificationID");
cancel(id);
如果我们不需要任何中间对象,我们可以将整个事物写成一行。
希望有所帮助。
答案 2 :(得分:0)
cancel(getIntent().getExtras().getInt(“notificationID”));
..即使在这里取消也只获得1个参数...因为.. getIntent()= returns an intent
intent.getExtras = returns the values it stores
如果额外有一些对象然后.getInt(“notificationID”) = returns an Int value
..所以最后只有剩下的东西是整数...