小编caw*_*caw的帖子

从代码中访问@android:id/list ListView

在我的Android应用程序中,我以这种方式在main.xml布局文件中添加一个ListView元素(例如):

<ListView android:id="@+id/myList">
Run Code Online (Sandbox Code Playgroud)

然后我可以使用以下命令从我的MainActivity访问它:

final ListView resultList = (ListView) findViewById(R.id.myList);
Run Code Online (Sandbox Code Playgroud)

但是,如果我在布局文件中使用以下ID,我该如何访问这样的ListView?

<ListView android:id="@android:id/list">
Run Code Online (Sandbox Code Playgroud)

我想从我的MainActivity(扩展ListActivity)访问它.

提前致谢!

android android-layout android-listview android-xml

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

在onSaveInstanceState()中设置标志以确定onDestroy()中的退出类型

对于在线游戏,很Activity高兴知道Android 的onDestroy()是否仅被调用,因为Android将重新创建它(例如设备轮换)或者用户选择退出游戏.

我的计划是设置一个标志,在ActivityonSaveInstanceState()时候的Android可能是重新创建的Activity:

private boolean mDestroyedForReCreation;
...
protected void onSaveInstanceState() {
    ...
    mDestroyedForReCreation = true;
}
Run Code Online (Sandbox Code Playgroud)

如果你这样做,你可以检查mDestroyedForReCreationonDestroy():

  • 如果设置了标志(true),请不要将用户从在线游戏中解雇.
  • 如果未设置标志(false),则将用户从在线游戏中解雇,因为他自愿退出游戏.

这是正确的方法吗?如果是,是推荐还是有更好的解决方案?我希望如此,因为我不喜欢那个解决方案......

android android-activity

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

Flesch-Kincaid可读性:改进PHP功能

我编写了这个PHP代码来实现Flesch-Kincaid可读性分数作为函数:

function readability($text) {
    $total_sentences = 1; // one full stop = two sentences => start with 1
    $punctuation_marks = array('.', '?', '!', ':');
    foreach ($punctuation_marks as $punctuation_mark) {
        $total_sentences += substr_count($text, $punctuation_mark);
    }
    $total_words = str_word_count($text);
    $total_syllable = 3; // assuming this value since I don't know how to count them
    $score = 206.835-(1.015*$total_words/$total_sentences)-(84.6*$total_syllables/$total_words);
    return $score;
}
Run Code Online (Sandbox Code Playgroud)

您有如何改进代码的建议吗?这是对的吗?它会起作用吗?

我希望你能帮助我.提前致谢!

php readability formula flesch-kincaid

7
推荐指数
3
解决办法
2725
查看次数

改进足球模拟算法

在另一个问题中,你帮我建立了足球模拟算法.我在那里得到了一些非常好的答案.再次感谢!

现在我编写了这个算法.我想改进它并找到可能存在的小错误.我不想讨论如何解决它 - 正如我们在上一个问题中所做的那样.现在我只想改进它.你能再帮我一次吗?

  1. 有什么错误吗?
  2. 嵌套的if子句的结构是否正确?可以改进吗?
  3. 根据我的描述,战术是否正确整合?

应该对随机性产生影响的战术设置:

  • $ tactics [x] [0]调整(1 =防守,2 =中立,3 =进攻):价值越高,防守越弱,进攻越强
  • $ tactics x游戏速度(1 =慢速,2 =中等,3 =快速):值越大,机会越多但获得快速反击的风险越高
  • $ tactics x传球距离(1 =短,2 =中,3 =长):值越高越少但获得的机会越多,越位越快
  • $ tactics x创造变化(1 =安全,2 =中等,3 =有风险):价值越高,你的机会越多,但获得快速反击的风险越高
  • $ tactics [x] [4]防守压力(1 =低,2 =中等,3 =高):值越大,反击越快你就会有
  • $ tactics [x] [5]攻击性(1 =低,2 =中等,3 =高):值越大,你将被犯规所阻止的攻击越多

注意: Tactic 0和tactic 4部分集成在引擎的其余部分,此功能不需要.

目前的算法:

<?php
function tactics_weight($wert) {
    $neuerWert = $wert*0.1+0.8;
    return $neuerWert;
}
function strengths_weight($wert) {
    $neuerWert = log10($wert+1)+0.35;
    return $neuerWert;
}
function Chance_Percent($chance, $universe = …
Run Code Online (Sandbox Code Playgroud)

php simulation

7
推荐指数
3
解决办法
5460
查看次数

Delphi:启动 MCI 时出现 EMCIDeviceError

我使用 TMediaPlayer 组件来播放音乐。

它适用于我的大部分曲目。但它不适用于某些曲目。当我想播放它们时,会显示以下错误消息:

替代文字

这是德语,但大致意思是:

在项目 pMusicPlayer.exe 中,发生了类 EMCIDeviceError 的异常。消息:“启动 MCI 时出错。”。进程已停止。继续“单个命令/语句”或“开始”。

程序调用TMediaPlayer的“Play”程序后直接退出。

例如,以下文件发生此错误:

  • 文件大小:7.40 MB
  • 持续时间:4:02 分钟
  • 比特率:256 kBit/s

我用 128 kBit/s 的比特率编码了这个文件,因此文件大小为 3.70 MB:它工作正常!

第一个文件有什么问题?Windows Media Player 或其他程序可以毫无问题地播放它。

Delphi 的 TMediaPlayer 是否可能无法处理大文件(例如 > 5 MB)或具有高比特率(例如 > 128 kBit/s)的文件?

我能做些什么来解决问题?

附加问题: 为什么我不能使用 try/except 来阻止消息窗口?

  try
    Player.Play;
  except
    showmessage('Cannot be played');
  end;
Run Code Online (Sandbox Code Playgroud)

这不起作用。

delphi mp3 windows-media-player audio-player

7
推荐指数
1
解决办法
9403
查看次数

连接4与神经网络:评估草案+进一步的步骤

我想构建一个使用人工神经网络工作的Connect 4引擎 - 仅仅因为我对ANN很着迷.

我创建了以下ANN结构草案.会有用吗?这些连接是否正确(即使是交叉连接)?

替代文字

你能帮我起草这个ANN的UML类图吗?

我想将董事会代表作为其输入提供给ANN.输出应该是选择的举动.

以后应该使用强化学习学习,并且应该应用sigmoid函数.该引擎将与人类玩家对抗.并且根据游戏的结果,应该调整权重.

我在找什么......

......主要是编码问题.从抽象思维到编码越远,它就越好.

artificial-intelligence game-ai neural-network

7
推荐指数
1
解决办法
3637
查看次数

拉丁变形:

我不知道这里是否有人能说(或写)拉丁文的"死语".但也许你甚至可以在不懂这种语言的情况下帮助我......

我有一个单词数据库(包括名词和动词).现在我想生成那些名词和动词的所有不同(变形)形式.这样做的最佳策略是什么?

拉丁语是一种高度变化的语言,有:

a)名词的变形

b)动词的结合

有关动词的共轭("mandare")的示例,请参阅此翻译页面:共轭

我不想手动输入所有这些单词的形式.那么如何自动生成它们呢?什么是最好的方法?

  • 如何反映所有单词的复杂规则列表
  • 贝叶斯方法
  • ...

非常感谢你提前!

编辑(可能的解决方案?):

我现在发现有一个名为"威廉·惠特克的话"的节目.它也会为拉丁语单词创建变形,所以它正是我想要做的事情.

维基百科称该程序的工作原理如下:"单词使用一组基于自然前置,入内和后缀,变换和共轭的规则来确定进入的可能性.这种分析结构的方法的结果言语,不能保证这些词语曾被用于拉丁文学或言语,即使该程序找到了某个词的可能含义."

该程序的来源也可在此处获得.但我真的不明白这是如何工作的.你能帮助我吗?也许这将是我的问题的解决方案......

parsing latin inflection

7
推荐指数
1
解决办法
828
查看次数

在Android上使用C库而不是NDK

我想做的事:

我找到了一个C库来计算音频流的音高,并希望在Android中使用它.

我想不用移植它我也可以在NDK的帮助下使用它,对吧?

这是如何运作的?我当然要安装NDK然后呢?我可以在Android中正常调用此C库的函数吗?

C中我想要"导入"的库:

#include "second_c_file.h"
#include <math.h>
#include <stdlib.h>
#include <string.h>

#ifndef max
#define max(x, y) ((x) > (y)) ? (x) : (y)
#endif
#ifndef min
#define min(x, y) ((x) < (y)) ? (x) : (y)
#endif

int _power2p(int value) {
    ...
}

typedef struct _minmax {
    int index;
    struct _minmax *next;
} minmax;

double _test_calculate(double * var1, int var2, int var3) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

显然,文件"second_c_file.h"是我需要导入的另一个文件.

谢谢你的帮助!

c android android-ndk

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

电子邮件意图忽略预设文本中的换行符(Android)

在各种Android应用程序中,我使用以下代码显示电子邮件的应用程序选择器,并在用户决定使用其中一个应用程序后,在电子邮件表单中插入预定义文本:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "info@example.org" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Sample subject");
String contentStr = "";
for (Object o : mArrayList) { // mArrayList: ArrayList<Object>
    content = contentStr+o.toString()+"\n";
}
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, backupStr);
startActivity(Intent.createChooser(emailIntent, "Choose application"));
Run Code Online (Sandbox Code Playgroud)

在for循环中,对象的字符串输出与临时字符串"contentStr"连接在一起.在每个对象之后,应该有一个换行符("\n").

因此,当我在手机上测试此代码时,它工作正常,每个对象都有自己的行.

但是用户报告说他们的电子邮件应用程序(也是Android标准)将所有内容放在一行中并忽略了换行符.

我做错了什么?或者我可以忽略这个错误报告,因为它不是开发人员可以解决的问题吗?

email android android-intent

7
推荐指数
2
解决办法
3709
查看次数

移动设备上的WebSocket支持

对于Android多人游戏的玩家之间的通信,我在客户端使用WebSocket服务器和TooTallNate的Java库,以在Android应用程序中启用WebSocket支持.所以只是要明确指出,移动浏览器中的WebSocket支持对我来说并不重要.

不幸的是,用户报告说他们遇到了连接失败或未接收消息等问题.这是移动设备上WebSockets的一般问题(阻塞端口,防火墙,移动互联网连接)还是客户端代码中的一个缺陷?

您是否具有WebSocket客户端库的经验,例如上面的那个?我刚刚发现了适用于Android的autobahn.ws - 但我不知道是否值得从我当前的库中切换(见上文).

WAMP怎么样?WebSocket技术不是完全正确的解决方案,因此我应该使用子协议(?)WAMP?

android multiplayer websocket

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