没有找到适合 inflate(int) 的方法,尝试在活动之外使用 findViewbyID



Title基本上说明了这个问题。我提到了这个:https://english.stackexchange.com/questions/11481 解决后一个问题,但它给了我前一个问题。

public class PbfSampleApplication extends Application {
public static final String TAG = "PbfSampleApplication";
@Override
public void onCreate() {
super.onCreate();

startService(new Intent(this.getApplicationContext(), 
PbfSampleService.class));
FlicManager.init(this.getApplicationContext(), "2125f7c3-0d0e-42d5-88fe-
fda8765867d6", "94d6448c-22d3-4d2e-951f-f625f60f471a");
FlicManager manager = FlicManager.getManager();
for (FlicButton button : manager.getKnownButtons()) {
button.connect();
listenToButtonWithToast(button);
}
}

public void listenToButtonWithToast(FlicButton button) {
button.addEventListener(new FlicButtonAdapter() {
@Override
public void onButtonUpOrDown(FlicButton button, boolean wasQueued, int timeDiff, boolean isUp, boolean isDown) {
if (isDown) {

View v =LayoutInflater.inflate(R.layout.activity_main);
//Above line has the error
View innerView = v.findViewById(R.id.number);           
Toast.makeText(getApplicationContext(), "Button " + button + " was pressed", Toast.LENGTH_SHORT).show();
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:017702329065"));
startActivity(callIntent);

}
}
});
}
}

我知道我应该传入一个 int,但是当我在开发人员网站上检查该方法时,它似乎参数格式正确,所以我不确定我还需要什么才能让它工作

在调用 LayoutInflower 之前创建一个实例:

LayoutInflater inflater = LayoutInflater.from(getContext());
View v = inflater.inflate(R.layout.activity_main, null);
View innerView = v.findViewById(R.id.number);  

第二个参数是可能为 null 的ViewGroupLayoutInflater没有仅接受一个参数的膨胀方法

最新更新