android - Failed to update existing theme for activity -
i see error when execute code:
e/instantrun: failed update existing theme activity com.example.android.getup.mainactivity@1ebe5a1 java.lang.nosuchfieldexception: no field mtheme in class landroid/content/res/resources$theme; (declaration of 'android.content.res.resources$theme' appears in /system/framework/framework.jar) @ java.lang.class.getdeclaredfield(native method) @ com.android.tools.fd.runtime.monkeypatcher.monkeypatchexistingresources(monkeypatcher.java:374) @ com.android.tools.fd.runtime.server.restart(server.java:523) @ com.android.tools.fd.runtime.server.access$600(server.java:61) @ com.android.tools.fd.runtime.server$socketserverreplythread.handle(server.java:318) @ com.android.tools.fd.runtime.server$socketserverreplythread.run(server.java:190) @ com.android.tools.fd.runtime.server$socketserverthread.run(server.java:158) @ java.lang.thread.run(thread.java:761)
what mean?
mainactivity.java
in general app alarm app if important , it's called getup
package com.example.android.getup; import android.content.broadcastreceiver; import android.content.context; import android.content.intent; import android.content.intentfilter; import android.os.build; import android.os.bundle; import android.support.design.widget.floatingactionbutton; import android.support.v7.app.appcompatactivity; import android.view.menu; import android.view.menuitem; import android.view.view; import android.widget.textview; import com.example.android.getup.animations.resizeanimation; import com.example.android.getup.interfaces.fragmentcommunicator; import java.text.simpledateformat; import java.util.calendar; import java.util.date; public class mainactivity extends appcompatactivity implements fragmentcommunicator{ private textview displaytime, displaymonthyear, displaydayname; broadcastreceiver _broadcastreceiver; private final simpledateformat _sdfwatchtime = new simpledateformat("hh.mm"); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // initialization displaytime = (textview) findviewbyid(r.id.display_time); displaymonthyear = (textview) findviewbyid(r.id.display_month_year); displaydayname = (textview) findviewbyid(r.id.display_day_name); // setting day of month displaytime.settext(_sdfwatchtime.format(new date())); displaymonthyear.settext(new simpledateformat("mmm dd, yyyy").format(system.currenttimemillis())); setdisplaydayname(); // coolest button ever :) final floatingactionbutton fab = (floatingactionbutton) findviewbyid(r.id.fab); final view myview = findviewbyid(r.id.ll_reveal); myview.setvisibility(view.invisible); /** * * when fab clicked * * **/ fab.setonclicklistener(new view.onclicklistener() { boolean expandorcollapse = true; // seeing if adding alarm panel needs extended or collapsed @override public void onclick(view view) { if (expandorcollapse) { // if panel extended resizeanimation.expand(myview); // expand animation if (build.version.sdk_int >= build.version_codes.lollipop) { fab.setimagedrawable(getresources().getdrawable(r.drawable.ic_clear_white_48dp, mainactivity.this.gettheme())); // changing fab's icon } else { fab.setimagedrawable(getresources().getdrawable(r.drawable.ic_clear_white_48dp)); } expandorcollapse = false; // next time fab clicked, it'll collapse add alarm panel }else{ resizeanimation.collapse(myview); if (build.version.sdk_int >= build.version_codes.lollipop) { fab.setimagedrawable(getresources().getdrawable(r.drawable.ic_alarm_add_white_48dp, mainactivity.this.gettheme())); } else { fab.setimagedrawable(getresources().getdrawable(r.drawable.ic_alarm_add_white_48dp)); } expandorcollapse = true; } } }); } /** * system send broadcast event @ exact beginning of every minutes based on system clock. **/ @override public void onstart() { super.onstart(); _broadcastreceiver = new broadcastreceiver() { @override public void onreceive(context ctx, intent intent) { if (intent.getaction().compareto(intent.action_time_tick) == 0) displaytime.settext(_sdfwatchtime.format(new date())); }; registerreceiver(_broadcastreceiver, new intentfilter(intent.action_time_tick)); } @override public void onstop() { super.onstop(); if (_broadcastreceiver != null) unregisterreceiver(_broadcastreceiver); } private void setdisplaydayname(){ string day = ""; switch (calendar.getinstance().get(calendar.day_of_week)){ case 1: day = "sunday"; break; case 2: day = "monday"; break; case 3: day = "tuesday"; break; case 4: day = "wednesday"; break; case 5: day = "thursday"; break; case 6: day = "friday"; break; case 7: day = "saturday"; break; } displaydayname.settext(day); } @override public void response(string[] alarminfo) { alarmslistfragment alarmslistf = (alarmslistfragment) getfragmentmanager().findfragmentbyid(r.id.alarm_box_container_fragment); alarmslistf.onrecvdata(alarminfo); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.menu_main, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); //noinspection simplifiableifstatement if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } }
if need more code let me know because im not sure necessarily.
when getting error, solved in android studio going file > invalidate caches / restart....
source: this answer
Comments
Post a Comment