我一直在尝试完成专为android 3.0+设计的教程"使用片段"
为了说明我正在使用兼容包v4(因为我的API是7).但是我被困在名单上.我找不到直接的答案.
我得到一个ClassNotFoundException.我从FragmentActivity继承了片段类但是我的ListActivity呢?没有FragmentListActivity这样的东西,我认为它一直在崩溃.
我可以使用兼容包v4创建Fragment ListActivity吗?或者根本不可能?
我在故事板中将UITabBar设置为不透明,但我似乎仍然是透明的.当我设置自定义UITabBarController时setBarStyle,只有OpaqueBlack可用.
但那个问题最少.无论我做什么,我的视图内容都位于标签栏下方,就像它被ayutolayout忽略一样.在故事板上一切都很好.在运行时搞砸了什么?
哦,最重要的是.问题仅发生在iOS7上!
以下是storyboard中的ViewController设置:

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

最后是UITableView约束:

我正在努力显示与 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 应用程序以“借用”请求设置,但该应用程序被很好地混淆了。:)
有人实现了吗?
我似乎缺乏处理这种意图的知识,但是暂时找不到答案.
我有一个片段的活动.片段执行此代码是为了调用联系人:
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)
我究竟做错了什么?我需要在清单中声明一些特殊活动吗?
我正在尝试使用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)
我没有忘记 …
我有一个带有底部导航标签的活动,正在更改其中的片段.当我在这些标签上来回点击时,它会在某些时候停止工作.代码执行得很好,因为我把一些日志放入其中.但片段没有被切换.
代码在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) 我正在为delphi 2009使用虚拟树列表.我创建了一个包含以下数据的树:
type
PTreeData = ^TTreeData;
TTreeData = record
FCaption: String;
FPath: String;
end;
Run Code Online (Sandbox Code Playgroud)
我想按特定顺序迭代所有元素.我需要获取第一个顶级节点,然后遍历其所有子节点并修改FPath字段.当我完成它的孩子时,我想获得另一个顶级节点,依此类推.
首先,我不知道如何在顶级节点上进行迭代.
提前感谢您对此提出的任何建议
我正在尝试配置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而启用它.
这个问题有很多解决方案,但找不到不推荐的解决方案.
我有一个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目的.
在启用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