小编ann*_*mph的帖子

Typescript 中的子类化

我在 Typescript 中有一个存储类,它实现了Storage接口,比如MyStorage. 但是它的方法太多了,所以我想用它来代替MyStorage.getCandy- MyStorage.Candies.getCandies。结构可能看起来如何?

我假设,像

export class MyStorage implements Storage {

public constructor {} ...

Candies: {
   getCandies() { ... }
}

Balls: {
...
}
}
Run Code Online (Sandbox Code Playgroud)

interface subclass typescript

6
推荐指数
1
解决办法
6926
查看次数

组合布局中集合视图自调整单元格大小问题

我正在使用集合视图组合布局来显示带有两个标签的单元格,这些标签的高度可以根据标签的内容而增长。细胞中的其他一切都是固定的。
我做了一个这样的部分:

let item = NSCollectionLayoutItem(
            layoutSize: NSCollectionLayoutSize(
                widthDimension: .fractionalWidth(1),
                heightDimension: .fractionalHeight(1)))

let group = NSCollectionLayoutGroup.vertical(
            layoutSize: NSCollectionLayoutSize(
                widthDimension: .fractionalWidth(1),
                heightDimension: .estimated(300)),
            subitems: [item])

let section = NSCollectionLayoutSection(group: group)
Run Code Online (Sandbox Code Playgroud)

问题是,它要么太大,要么太小,但永远不会计算出正确的高度。我的假设是,这是因为我在方法内设置标签的文本configure,而不是在单元初始化期间设置。

let cell = collectionView.dequeueReusableCell(
                reusableCell: MyCustomCell.self,
                indexPath: indexPath)
cell.configure(viewModel: viewModel)
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以解决它吗?我尝试使布局无效或重新加载数据以重新计算高度,但没有帮助。

ios autolayout uicollectionview swift uicollectionviewcompositionallayout

4
推荐指数
1
解决办法
4346
查看次数

SpeechRecognizer 在开始后没有立即给出匹配项

我正在尝试在我的 Android 应用程序中使用 SpeechRecognizer 库,到目前为止它的工作给我留下了疑问。首先,当我停止说话时,它并没有停止。如果我试图阻止语音识别自己,下次它就会告诉我“不匹配!” 马上。

我的问题是:当我使用谷歌语音识别(当我在网络上搜索时)时,它就像一个魅力。在我的应用程序中,它远非完美,尽管库是相同的。我的实现有什么问题吗?

我的代码(简化):

注意:我尝试使用部分结果来使语音识别更加灵活,但除了识别速度变得更快之外,我看不到任何效果。

    public void setupVoiceRecognition(Activity activity) {
        mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(activity.getApplicationContext());
        mSpeechRecognizer.setRecognitionListener(this);

        mRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,
                activity.getPackageName());
        mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS,
                true);
        mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        mRecognizerIntent.putExtra(EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 5000);
        mRecognizerIntent.putExtra(EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 3000);
        mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);
        mContext = activity.getApplicationContext();
        if (mMainBtn != null) {
            mMainBtn.setOnClickListener(new View.OnClickListener() {
                @Override public void onClick(View view) {
                    VoiceRecognition.this.onClick();
                }
            });
        }
    }    

    public void forceStop() {
        if (mListening) {
            toggleListening(false);
        }
    }    

    public void onClick() {            
        toggleListening(!mListening);            
    }


    private void toggleListening(boolean start) {
        mPartialLength = 0; …
Run Code Online (Sandbox Code Playgroud)

java android speech-recognition

3
推荐指数
1
解决办法
2565
查看次数