小编Jac*_*ień的帖子

我可以使用兼容包v4创建Fragment ListActivity吗?

我一直在尝试完成专为android 3.0+设计的教程"使用片段"

为了说明我正在使用兼容包v4(因为我的API是7).但是我被困在名单上.我找不到直接的答案.

我得到一个ClassNotFoundException.我从FragmentActivity继承了片段类但是我的ListActivity呢?没有FragmentListActivity这样的东西,我认为它一直在崩溃.

我可以使用兼容包v4创建Fragment ListActivity吗?或者根本不可能?

android android-listview android-fragments

11
推荐指数
1
解决办法
1万
查看次数

Autolayout忽略了iOS7上的UITabBar(条形图下的内容)

我在故事板中将UITabBar设置为不透明,但我似乎仍然是透明的.当我设置自定义UITabBarController时setBarStyle,只有OpaqueBlack可用.

但那个问题最少.无论我做什么,我的视图内容都位于标签栏下方,就像它被ayutolayout忽略一样.在故事板上一切都很好.在运行时搞砸了什么?

哦,最重要的是.问题仅发生在iOS7上!

以下是storyboard中的ViewController设置:

在此输入图像描述

这里是有问题的内容(UITableView),它位于ios7应用程序的UITabBar下.但在故事板中看起来很好:

在此输入图像描述

最后是UITableView约束:

在此输入图像描述

uitabbar ios7

11
推荐指数
2
解决办法
7122
查看次数

以与 Google Fit 应用程序相同的方式获取 Google Fit 历史记录(Google Fit 自动记录活动)

我正在努力显示与 Google Fit 应用程序相同的活动历史记录。我在会话方面做得很好,但我无法正确掌握自动记录的活动。就像示例中的这两个顶级步行。

在此处输入图片说明

我认为一切都归结DataReadRequest为建造的方式。我得到的最接近的是:

DataReadRequest.Builder()
                            .aggregate(DataType.TYPE_ACTIVITY_SEGMENT, DataType.AGGREGATE_ACTIVITY_SUMMARY)
                            .bucketByActivitySegment(5, TimeUnit.MINUTES)
                            .setTimeRange(dateFrom.millis, dateTo.millis, TimeUnit.MILLISECONDS)
                            .build()
Run Code Online (Sandbox Code Playgroud)

故意排除少于 5 次步行。结果相似,但结果略有不同。持续时间和大卡减少约 20%。有时它真的很疯狂,将活动切成小块。我在 Google Fit 中走了 2 次,最终在我的应用程序中走了 4 次,这与 Google Fit 中的 2 次不相加。我试图反编译 Google Fit 应用程序以“借用”请求设置,但该应用程序被很好地混淆了。:)

有人实现了吗?

android google-fit google-fit-api

11
推荐指数
1
解决办法
190
查看次数

找不到与action.DIAL一起处理Intent的Activity

我似乎缺乏处理这种意图的知识,但是暂时找不到答案.

我有一个片段的活动.片段执行此代码是为了调用联系人:

private void onCall() {
    Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(contact.getBusinessPhone()));
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

还包括许可

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> 
Run Code Online (Sandbox Code Playgroud)

输出是No Activity found to handle Intent和应用程序崩溃.

这是包含片段的活动的清单实现:

<activity android:name="activities.ContactActivity">            
    <intent-filter>
        <action android:name="android.intent.action.DIAL" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我需要在清单中声明一些特殊活动吗?

android android-intent

10
推荐指数
2
解决办法
2万
查看次数

Retrofit + RxJava无法缓存响应,可疑响应标头

我正在尝试使用Retrofit 1.9.0和配置缓存OkHtttp 2.5.0.

以下是我为我提供OkHttpClient的方式RestAdapter:

@Provides
@Singleton
public OkHttpClient provideOkHttpClient() {
    OkHttpClient okHttpClient = new OkHttpClient();
    okHttpClient.setConnectTimeout(TIMEOUT_IN_SECONDS, TimeUnit.SECONDS);
    okHttpClient.setReadTimeout(TIMEOUT_IN_SECONDS, TimeUnit.SECONDS);
    okHttpClient.setWriteTimeout(TIMEOUT_IN_SECONDS, TimeUnit.SECONDS);

    File cacheDir = new File(context.getCacheDir(), "http");
    final Cache cache = new Cache(cacheDir, DISK_CACHE_SIZE_IN_BYTES);
    okHttpClient.setCache(cache);

    okHttpClient.interceptors().add(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {

            Response response = chain.proceed(request);
            Response finalResponse = response.newBuilder()
                    .header("Cache-Control", String.format("public, max-stale=%d", 604800))
                    .build();

            Log.d("OkHttp", finalResponse.toString());
            Log.d("OkHttp Headers", finalResponse.headers().toString());
            return finalResponse;
        }
    });

    return okHttpClient;
}
Run Code Online (Sandbox Code Playgroud)

我没有忘记 …

android caching retrofit okhttp rx-android

10
推荐指数
1
解决办法
1506
查看次数

FragmentTransaction hide/show有时不起作用

我有一个带有底部导航标签的活动,正在更改其中的片段.当我在这些标签上来回点击时,它会在某些时候停止工作.代码执行得很好,因为我把一些日志放入其中.但片段没有被切换.

代码在kotlin中,但它相当直接

fun showTabFragment(tag: String) {
        val currentFragment: Fragment? = supportFragmentManager.fragments?.lastOrNull()
        var fragment = supportFragmentManager.findFragmentByTag(tag)
        val fragmentExists = fragment != null
        if (fragment == null) {
            when (tag) {
                TAG_LOGBOOK -> fragment = LogbookFragment()
                TAG_RECIPES -> fragment = RecipesFragment()
                TAG_PROFILE -> fragment = ProfileFragment()
                else -> fragment = MeetingPlacesFragment()
            }
        }

        val transaction = supportFragmentManager.beginTransaction()

        if (currentFragment != null) {
            Log.i("jacek", "hiding " + currentFragment.javaClass.simpleName)
            transaction.hide(currentFragment)
        }

        if (fragmentExists) {
            Log.i("jacek", "showing " + fragment.javaClass.simpleName)
            transaction.show(fragment)
        } else {
            Log.i("jacek", …
Run Code Online (Sandbox Code Playgroud)

android android-fragments kotlin fragmentmanager

10
推荐指数
3
解决办法
4669
查看次数

迭代节点及其子节点并修改数据

我正在为delphi 2009使用虚拟树列表.我创建了一个包含以下数据的树:

type
  PTreeData = ^TTreeData;
  TTreeData = record
    FCaption: String;
    FPath: String;
  end;
Run Code Online (Sandbox Code Playgroud)

我想按特定顺序迭代所有元素.我需要获取第一个顶级节点,然后遍历其所有子节点并修改FPath字段.当我完成它的孩子时,我想获得另一个顶级节点,依此类推.

首先,我不知道如何在顶级节点上进行迭代.

提前感谢您对此提出的任何建议

delphi virtualtreeview

9
推荐指数
1
解决办法
3937
查看次数

使用带有espresso/androidTest的proguard

我正在尝试配置proguard以使用我的espresso UI测试风味.事情是Proguard倾向于忽略我的调试proguard配置.

这是配置的外观:

buildTypes {
    debug {
        minifyEnabled true
        proguardFiles 'proguard-debug.pro'
        testProguardFile 'proguard-debug.pro'
        signingConfig signingConfigs.release
    }
}
Run Code Online (Sandbox Code Playgroud)

我补充说testProguardFile但它似乎没有起作用androidTest.我正在运行mockDebug风味变种.当我刚运行应用程序时,它工作正常,但是当我尝试运行测试时,adnroidTest由于proguard警告,它将无法运行,就像proguard文件根本没有被处理而且文件很简单:

proguard-debug.pro

-dontobfuscate
-dontoptimize
-dontwarn
Run Code Online (Sandbox Code Playgroud)

在有人开始建议我为调试版本关闭proguard之前:我需要因为multidex而启用它.

android proguard android-espresso

9
推荐指数
2
解决办法
2888
查看次数

计算动态UILabel(iOS7)的行数

这个问题有很多解决方案,但找不到不推荐的解决方案.

我有一个UILabel模式WordWrap和固定宽度,比方说250.行设置为0.

这是我尝试过的:

UILabel *contentLabel = (UILabel*)[contentView viewWithTag:10];
CGSize size = [contentLabel.text sizeWithFont:contentLabel.font forWidth:contentLabel.frame.size.width lineBreakMode:NSLineBreakByWordWrapping];
NSLog(@"Label's height is: %d", size.height);
Run Code Online (Sandbox Code Playgroud)

高度参数的输出总是20(所以它就像一行),而te文本就像30行一样.

我需要它用于UIScrollView目的.

uilabel ios ios7

8
推荐指数
1
解决办法
2万
查看次数

带有SnackBar和CoordinatorLayout的FloatingActionButton不能与proguard一起使用

在启用proguard的情况下,这段简单的代码将无法正常工作:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/coordinator_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/show"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:layout_marginTop="40dp"
        android:text="Show snackbar" />


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:src="@drawable/ic_save_white_24dp"
        app:layout_anchorGravity="bottom|right|end" />


</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

期望的行为FloatingActionButton在显示SnackBar时已被推翻,但直到我禁用proguard才会发生.

没有教程也涵盖了这一点,因为新项目默认禁用了proguard;)

有人知道设计支持库的proguard配置吗?

android android-snackbar androiddesignsupport android-coordinatorlayout

8
推荐指数
1
解决办法
884
查看次数