Reputation: 2671
As soon as i upgrade my android gradle plugins to
classpath 'com.android.tools.build:gradle:2.2.0-beta2'
i am getting error on my HomeScreenActivity like
Java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener(Landroid/view/View;Landroid/support/v4/view/OnApplyWindowInsetsListener;)V in class Landroid/support/v4/view/ViewCompatLollipop; or its super classes (declaration of 'android.support.v4.view.ViewCompatLollipop' appears in /data/data/test.bpl.com.bploximeterdemo/files/instant-run/dex/slice-internal_impl-24.2.0_adc91965034c97937e0e3e7bf26df26d4116a5ab-classes.dex)
at android.support.v4.view.ViewCompat$LollipopViewCompatImpl.setOnApplyWindowInsetsListener(ViewCompat.java:1537)
at android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener(ViewCompat.java:2787)
at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:389)
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:279)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:253)
at android.support.v7.app.AppCompatDialog.setContentView(AppCompatDialog.java:76)
at android.support.v7.app.AlertController.installContent(AlertController.java:213)
at android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:240)
at android.app.Dialog.dispatchOnCreate(Dialog.java:394)
at android.app.Dialog.show(Dialog.java:295)
at wl.bpl.com.bploximeter.HomeScreenActivity.show_dialog(HomeScreenActivity.java:1252)
at wl.bpl.com.bploximeter.HomeScreenActivity.onCreate(HomeScreenActivity.java:235)
at android.app.Activity.performCreate(Activity.java:6259)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
HomeScreenActivity code is
public class HomeScreenActivity extends AppCompatActivity {
AlertDialog alert;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
overridePendingTransition(R.anim.trans_left_in, R.anim.trans_left_out);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show();
}
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.ACCESS_COARSE_LOCATION)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
PERMISSION_REQUEST_COARSE_LOCATION);
}
}
}
myBleRecever = new BleBroadCastReceiver();
registerReceiver(myBleRecever, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
if(device_macid=="")
{
show_dialog();
}
}
private void show_dialog()
{
AlertDialog.Builder builder = new AlertDialog.Builder(HomeScreenActivity.this);
builder.setMessage(R.string.connect_device)
.setPositiveButton("Connect", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(HomeScreenActivity.this, BLEdevicelistActivity.class);
if (isBleseviceRegister) {
unregisterReceiver(mGattUpdateReceiver);
isBleseviceRegister = false;
}
if (isBindServise) {
unbindService(mServiceConnection);
isBindServise = false;
}
alert.dismiss();
startActivityForResult(intent, Constants.BLUETOOTH_REQUEST_CODE);
}
});
alert = builder.create();
// alert.setCancelable(false);
alert.setCanceledOnTouchOutside(false);
Logger.log(Level.DEBUG,TAG,"Alert dialog box gets called");
alert.show();// **getting error here**
}
Note this code was working early
Upvotes: 0
Views: 304
Reputation: 1816
I faced similar issue when I upgraded Android Studio.
Update every support library "com.android.support:xxx:..." on your grade file to 24.2.0.
Check if it helps you.
Edited :
Pasting my gradle file
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:cardview-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile 'com.google.android.gms:play-services:9.4.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.google.android.gms:play-services-auth:9.4.0' compile project(':components') }
Hope it will be sufficient.
Upvotes: 1