我有一个托管DialogFragment的FragmentActivity.
DialogFragment执行网络请求并处理Facebook身份验证,因此我需要在轮换期间保留它.
我已经阅读了有关这个问题的所有其他问题,但没有一个问题能解决这个问题.
我正在使用putFragment和getFragment来保存Fragment实例,并在重新创建活动期间再次获取它.
但是,我总是在onRestoreInstanceState中调用getFragment时得到一个空指针异常.我还希望防止对话在轮换期间被解雇,但到目前为止,我甚至无法保留它的实例.
有什么想法会出错吗?
这是我的代码目前的样子:
public class OKLoginActivity extends FragmentActivity implements OKLoginDialogListener
{
private OKLoginFragment loginDialog;
private static final String TAG_LOGINFRAGMENT = "OKLoginFragment";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager fm = getSupportFragmentManager();
if(savedInstanceState == null)
{
loginDialog = new OKLoginFragment();
loginDialog.show(fm, TAG_LOGINFRAGMENT);
}
}
@Override
public void onSaveInstanceState(Bundle outState)
{
getSupportFragmentManager().putFragment(outState,TAG_LOGINFRAGMENT, loginDialog);
}
@Override
public void onRestoreInstanceState(Bundle inState)
{
FragmentManager fm = getSupportFragmentManager();
loginDialog = (OKLoginFragment) fm.getFragment(inState, TAG_LOGINFRAGMENT);
}
}
Run Code Online (Sandbox Code Playgroud)
这是异常堆栈跟踪:
02-01 16:31:13.684: E/AndroidRuntime(9739): FATAL EXCEPTION: …Run Code Online (Sandbox Code Playgroud) android android-fragments android-dialogfragment android-fragmentactivity
在ruby中,计算两个无符号整数之间的位差(例如汉明距离)的最有效方法是什么?
例如,我有一个整数a = 2323409845和b = 1782647144.
他们的二进制表示是:
a = 10001010011111000110101110110101
b = 01101010010000010000100101101000
Run Code Online (Sandbox Code Playgroud)
a和b之间的位差是17 ..
我可以对它们进行逻辑XOR,但这会给我一个不同的整数!= 17,然后我必须迭代结果的二进制表示并计算#s的1.
计算位差的最有效方法是什么?
现在,答案是否会改变以计算许多整数序列的比特差异?例如,给定2个无符号整数序列:
x = {2323409845,641760420,509499086....}
y = {uint,uint,uint...}
Run Code Online (Sandbox Code Playgroud)
计算两个序列之间的比特差异的最有效方法是什么?
你会迭代序列,还是有更快的方法来计算整个序列的差异?
我正在开发iPhone上的一个项目,我正在使用AVAudioRecorder从设备麦克风录制音频,然后将操作录制.
为了确保我正确地读取文件中的样本,我使用python的波形模块来查看它是否返回相同的样本.
但是,当尝试打开由AVAudioRecorder保存的wav文件时,python的wave模块返回"fmt chunk和/或data chunk missing".
这些是我用来记录文件的设置:
[audioSettings setObject:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
[audioSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[audioSettings setObject:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[audioSettings setObject:[NSNumber numberWithFloat:4096] forKey:AVSampleRateKey];
[audioSettings setObject:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
[audioSettings setObject:[NSNumber numberWithBool:YES] forKey:AVLinearPCMIsNonInterleaved];
[audioSettings setObject:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
Run Code Online (Sandbox Code Playgroud)
之后,我只是打电话给recordForDuration来实际录音.
录音成功 - 我可以播放文件等,我可以使用AudioFile服务读取示例,但我无法验证它,因为我无法使用Python的波形模块打开文件.
这是文件的前128个字节的样子:
1215N:~/Downloads$ od -c --read-bytes 128 testFile.wav
0000000 R I F F x H 001 \0 W A V E f m t
0000020 020 \0 \0 \0 001 \0 001 \0 @ 037 \0 \0 200 > \0 \0
0000040 …Run Code Online (Sandbox Code Playgroud) 我正在关注如何从这里创建一个带有像Path,Instagram等中心按钮的标签栏的示例:http://idevrecipes.com/2010/12/16/raised-center-tab-bar-button/
我遇到的问题是当一个视图被推入堆栈时,HidesBottomBarWhenPushed设置隐藏标签栏,仍然会显示中心按钮.
在评论中,其他几个人遇到了这个问题,但没有可行的解决方案.(我在评论中尝试了所有建议的解决方案)
我提出了一个hacky解决方案 - 在一个不相关的单例类中存储对中心按钮的引用,然后让被推入的视图在加载时隐藏按钮,并在它消失时取消隐藏 - 但这只是感觉不对,它看起来很有趣,因为你可以在推视图动画开始之前看到按钮消失.
有人有这个工作吗?
我一直在努力让Game Center排行榜在新的iOS项目中工作3天.
沙箱排行榜仅显示用户的本地分数,而不是"所有分数".
我可以成功地将分数发布到排行榜,并且已经从4个不同的帐户中完成,但是排行榜只显示用户的本地分数.
此外,每天,排行榜重置并显示每个用户帐户的"无分数".过去3天他们一直这样做.
知道问题可能是什么吗?我已成功通过模拟器+2设备提交了4个帐户的分数.
有没有办法设置ADT,这样一旦我开始输入"代码辅助"/自动完成就会启动,而不必按Ctrl +空格键?
基本上,我是一个从Android开始的iOS开发人员,并且我已经习惯了Xcode自动完成的方式,一旦你开始输入.
使用ADT,似乎一旦我键入"对象",代码辅助就会启动,但是如果我想使用它节省输入类变量的时间,我必须实际按Ctrl +空格键,这会很烦人.
我正在尝试将Facebook Android SDK导出为JAR,以便在我的项目中使用.
这需要动态加载所有资源.
例如,我必须进行类似的更改:
//findViewById(R.id.com_facebook_login_activity_progress_bar).setVisibility(View.VISIBLE);
int viewID = getResources().getIdentifier("com_facebook_login_activity_progress_bar", "id", getPackageName());
findViewById(viewID).setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)
注释行显示原始行,下面的2行显示我为动态加载相同资源所做的更改.
Facebook SDK声明了一个R.styleable资源,我无法弄清楚如何动态加载它.这是原始代码:
private void parseAttributes(AttributeSet attrs) {
TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.com_facebook_profile_picture_view);
setPresetSize(a.getInt(R.styleable.com_facebook_profile_picture_view_preset_size, CUSTOM));
isCropped = a.getBoolean(R.styleable.com_facebook_profile_picture_view_is_cropped, IS_CROPPED_DEFAULT_VALUE);
a.recycle();
}
Run Code Online (Sandbox Code Playgroud)
然后在attrs.xml中声明以下内容:
<declare-styleable name="com_facebook_profile_picture_view">
<attr name="preset_size">
<!-- Keep in sync with constants in ProfilePictureView -->
<enum name="small" value="-2" />
<enum name="normal" value="-3" />
<enum name="large" value="-4" />
</attr>
<attr name="is_cropped" format="boolean" />
</declare-styleable>
Run Code Online (Sandbox Code Playgroud)
如何动态加载此资源(例如替换R.styleable引用)?
我正在搞乱一些音频和算法我试图实现对等式给出的带通二阶FIR滤波器的调用
H(z) = z - z^(-1)
Run Code Online (Sandbox Code Playgroud)
如何在C中实现这样的带通滤波器?
我有原始音频数据以及可用于我的音频数据的FFT,但我仍然不确定如何实现此滤波器,我也不确定该等式的含义.
在下图中,我正在尝试实施HF3:

android ×3
ios ×3
objective-c ×2
adt ×1
audio ×1
autocomplete ×1
c ×1
code-assist ×1
eclipse ×1
fft ×1
game-center ×1
java ×1
leaderboard ×1
python ×1
ruby ×1
uitabbar ×1
wave ×1