我正在努力工作的工具栏和抽屉.我正在尝试将汉堡切换为箭头,当我向后台堆叠添加新片段但是没有办法做到这一点.
也许我错过了一些东西,但我找不到办法.有人有同样的问题吗?
这是声明:
mDrawerToggle = new ActionBarDrawerToggle(
getActivityCompat(), /* host Activity */
mDrawerLayout, /* DrawerLayout object */
((BaseActivity) getActivityCompat()).getToolbar(),
R.string.navigation_drawer_open, /* "open drawer" description for accessibility */
R.string.navigation_drawer_close /* "close drawer" description for accessibility */
)
Run Code Online (Sandbox Code Playgroud)
这是我将一个片段添加到后栈时调用的函数
public void setToggleState(boolean isEnabled) {
if (mDrawerLayout == null)
return;
if (isEnabled) {
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
mDrawerToggle.onDrawerStateChanged(DrawerLayout.LOCK_MODE_UNLOCKED);
} else {
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerToggle.onDrawerStateChanged(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
}
mDrawerToggle.syncState();
}
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚我的应用程序中的泄漏,但我不确定这是来自.
LeakCanary告诉我,我可以忽略它.是对的吗?
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * LEAK CAN BE IGNORED.
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * com.mypackage.ui.map.MapComponentFragment has leaked:
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * GC ROOT android.view.inputmethod.InputMethodManager$1.this$0 (anonymous class extends com.android.internal.view.IInputMethodClient$Stub)
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references android.view.inputmethod.InputMethodManager.mCurRootView
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references com.android.internal.policy.impl.PhoneWindow$DecorView.mContext
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references com.mypackage.ui.MainActivity.mFragments
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references android.app.FragmentManagerImpl.mAdded
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references java.util.ArrayList.array
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references array java.lang.Object[].[0]
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * leaks …Run Code Online (Sandbox Code Playgroud) 我做了一个远程服务,这个服务是在第一次启动时由我的活动启动的,之后,活动总是查看服务是否已启动以避免再次启动它.
该服务在onCreate函数中运行一些方法.此服务始终在运行并在启动时启动.
问题(不是一个大问题,但我想知道为什么)是一旦创建服务,如果我停止我的活动调用onTaskRemoved,这是正确的,但几秒后再次调用oncreate方法,服务启动再次.
知道为什么吗?我该如何控制呢?
<service
android:name=".Service"
android:icon="@drawable/ic_launcher"
android:label="@string/service_name"
android:process=":update_process" >
</service>
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
if (!isRunning()) {
Intent service = new Intent(this, UpdateService.class);
startService(service);
} else {
//Just to debug, comment it later
Toast.makeText(this, "Service was running", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
如果服务未运行,则启动该服务
当您选择文本时,出现栏出现问题

我正在使用最新版本的Appcompat v7库。这是我的主题主张:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorControlNormal">@color/material_blue_grey_800</item>
<item name="colorControlActivated">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorPrimary</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="vpiTabPageIndicatorStyle">@style/TabStyle</item>
<item name="android:textAppearanceButton">@style/AppTheme.ButtonTextAppearance</item>
<item name="android:textViewStyle">@style/MyTextViewStyle</item>
</style>
<style name="MyTextViewStyle" parent="android:Widget.TextView">
<item name="android:textColor">@color/text</item>
<item name="android:textColorLink">@color/colorPrimary</item>
</style>
<style name="AppTheme.ButtonTextAppearance" parent="@style/Base.TextAppearance.AppCompat.Button">
<item name="textAllCaps">false</item>
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
没有一种颜色是白色的,所以我真的不知道这种白色条形颜色和白色图标的含义。
有什么线索吗?
我正在玩RXJava,在Android中进行改造.我正在努力完成以下任务:
我需要定期轮询一个给我一个Observable的调用>(从这里我可以做到)
一旦我得到这个列表,我想迭代每个交付,并调用另一个方法,将给我ETA(所以只是更多信息)我想将这个新信息附加到交付,并返回完整列表与附加的额外信息每个物品.
一旦得到列表,我知道如何在没有rxjava的情况下做到这一点,但我想练习.
到目前为止这是我的代码:
pollDeliveries = Observable.interval(POLLING_INTERVAL, TimeUnit.SECONDS, Schedulers.from(AsyncTask.THREAD_POOL_EXECUTOR))
.map(tick -> RestClient.getInstance().getApiService().getDeliveries())
.doOnError(err -> Log.e("MPB", "Error retrieving messages" + err))
.retry()
.subscribe(deliveries -> {
MainApp.getEventBus().postSticky(deliveries);
});
Run Code Online (Sandbox Code Playgroud)
这给了我一份交货清单.现在我想完成第二部分.
希望我足够清楚.谢谢
您将如何通过 Google 助理实现 actions.intent.OPEN_APP_FEATURE 操作?
文档缺少示例。
我正在努力如何使用相机移动以适应我的两个标记,并将它们保持在同一水平.因此,这意味着修改缩放以适应它们并转动相机以适合同一行上的标记.
接下来的两张照片将澄清我的问题:


那么,到目前为止我所做的是:
public void centerIncidentRouteOnMap(List<LatLng> copiedPoints) {
double minLat = Integer.MAX_VALUE;
double maxLat = Integer.MIN_VALUE;
double minLon = Integer.MAX_VALUE;
double maxLon = Integer.MIN_VALUE;
for (LatLng point : copiedPoints) {
maxLat = Math.max(point.latitude, maxLat);
minLat = Math.min(point.latitude, minLat);
maxLon = Math.max(point.longitude, maxLon);
minLon = Math.min(point.longitude, minLon);
}
final LatLngBounds bounds = new LatLngBounds.Builder().include(new LatLng(maxLat, maxLon)).include(new LatLng(minLat, minLon)).build();
mMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 120));
}
Run Code Online (Sandbox Code Playgroud)
但这只会使两个标记适合屏幕,所以我需要知道如何以正确的角度旋转相机以获得最后一张照片.
谁可以帮我这个事?
谢谢!
我正在尝试新的匕首2,这是我第一次实施它,但我不能让它工作.我想我得到了这个概念,我理解这里的例子
我尝试复制相同的结构只是为我的例子稍作修改.
这是扩展Graph的AppComponent,我定义了我想要的类.
@ApplicationScope
@Component(modules = {AppModule.class, DataModule.class})
public interface EFAppComponent extends EFGraph {
/**
* An initializer that creates the graph from an application.
*/
public final static class Initializer {
private Initializer() {
} // No instances.
public static EFAppComponent init(EFApp app) {
return Dagger_EFAppComponent.builder()
.appModule(new AppModule(app))
.build();
}
}
}
public interface EFGraph {
public void inject(EFApp app);
public ImageLoader imageLoader();
public EventBus eventBus();
}
Run Code Online (Sandbox Code Playgroud)
然后在每个模块中我提供相应的类.从这里一切都很好,Dagger接缝正确构建Dagger_EFAppComponent.
然后在Application类中使用构造函数初始化
component = EFAppComponent.Initializer.init(this);
component.inject(this);
Run Code Online (Sandbox Code Playgroud)
然后我的目标是在我的活动中注入ImageLoader和EventBus.为此,我创建了一个ActivityComponent.
@ActivityScope
@Component(
dependencies …Run Code Online (Sandbox Code Playgroud) 我遇到这个问题,从API我得到一个带有一个名为coordinates的对象的扩展JSON,这个对象是一个包含数组o数组的数组.
要更清楚地看一下这个例子:
"coordinates": [
[
[
-0.087118,
51.508823
]
Run Code Online (Sandbox Code Playgroud)
或者在这张照片中,您可以更好地看到它

所以现在我正在尝试使用GSON解析它而我并没有成功.任何人都可以给我一个如何为此创建类的想法?
谢谢
android ×9
toolbar ×2
app-actions ×1
camera ×1
colors ×1
dagger-2 ×1
drawertoggle ×1
exception ×1
google-maps ×1
gson ×1
java ×1
json ×1
leakcanary ×1
observable ×1
parsing ×1
polling ×1
retrofit ×1
rx-java ×1
service ×1