小编iTe*_*ech的帖子

如何以编程方式创建Menu实例?即在onCreateOptionsMenu外面扩展一个菜单

我想 onCreateOptionsMenu方法外面扩展一个菜单对象(这意味着当用户没有按下按钮时创建/显示菜单),所以我需要创建一个菜单实例来将它传递给inflate方法.

这是我想要实现的一个例子:

Menu menu = // How to create an instance !? 
new MenuInflater(context).inflate(R.menu.my_menu, menu)
Run Code Online (Sandbox Code Playgroud)

Menu是一个接口,所以我需要知道哪个类正在实现它.我确实浏览了Android代码以获取有关如何创建Menu对象的任何提示,但仍无法找到我要查找的内容.

编辑1

我的目标是onOptionsItemSelected(MenuItem item)从自定义视图中触发事件,该事件将由活动处理,因此我需要一个具有特定itemId和title的MenuItem对象以将其传递给事件.

如果我可以成功创建一个Menu对象,那么很容易获得它的子菜单MenuItems.

编辑2

根本不想显示菜单,我想要的是使用菜单XML定义的元素填充ListView,其中包含title,icon和itemId,每当单击ListViewItem时,我想触发在我处理事件活动.onOptionsItemSelected(MenuItem item)

我知道我可以解析菜单XML以提取项目信息,但是如果onOptionsItemSelected(MenuItem item)不创建标准的 MenuItem对象来将其作为参数传递,我将无法触发.

任何帮助将不胜感激.谢谢!

android menu menuitem android-layout

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

寻找addTimedTextSource的工作示例,用于在Android 4.1中的.srt文件中为视频添加字幕

我一直在尝试使用.srt文件作为定时文本源(仅适用于android 4.1+ http://developer.android.com/about/versions/android-4.1.html#Multimedia).第一个问题与获取.srt文件的文件描述符有关(在assets文件夹中,你将如何在应用程序中捆绑它?).该文件会自动压缩,因此您甚至无法在不更改编译设置或执行自定义构建的情况下查看该文件.最简单的解决方案是将.srt文件重命名为.jpg,以便它不会被压缩,openFD方法仍然有效.我现在添加TimedTextSource:

_myMP.addTimedTextSource(getAssets().openFd("captions.jpg").getFileDescriptor(),   MediaPlayer.MEDIA_MIMETYPE_TEXT_SUBRIP);
Run Code Online (Sandbox Code Playgroud)

现在,文件加载正确使用myMP.getTrackInfo()来获取的曲目列表,可以看到,添加定时文本源之后,第六赛道的类型是其定时文本轨道输入"3".我已经使用selectTrack来选择此曲目,如谷歌文档中所述,但在这样做之后,我的TimedTextListener上没有出现任何字幕:

 _myMP.setOnTimedTextListener(new OnTimedTextListener(){
        @Override
        public void onTimedText(MediaPlayer mp, TimedText text) {
                if (text!=null)
                   Log.d("TimedText", text.getText());  
            }       
        });
Run Code Online (Sandbox Code Playgroud)

仅触发一次(我在文件中有20个定时文本事件),但text参数始终为null.我已经做了搜索,并不能找到使用timeText的单个加工代码示例,它不会出现在任何样本项目中,有字面上没有比谷歌API文档等,但据我可以告诉文档,没有人张贴了它的工作实例.我在更新到Android 4.2的谷歌Nexus上测试了这个

video android captions srt

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

我在哪里可以找到小黄瓜语言规范/指南?

我试图在Gherkin中找出所有可用的语法/格式,例如关于多线参数和其他我还不知道的其他内容.

在挖掘Google搜索结果后,似乎综合指南位于此处:

我认为这是非常好的,有一个链接到一个页面,据说可以描述多行参数和其他,但它带我到404找不到=(.

有没有人有更好的建议在哪里阅读这个?

编辑:强调我已经完成了很多谷歌搜索.它提供了一些相当不错的网站,如specflowcuke4ninja,但它们都没有给出小黄瓜的全面描述.如果有人通过谷歌搜索找到答案,那么请随时给我打个谷歌搜索菜单,欢迎提出改进建议.

cucumber specflow gherkin

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

Android:在后台自动发送带附件的电子邮件

我正在制作一个应用程序,允许用户拍照并通过电子邮件自动发送到他选择的电子邮件.到目前为止,我能够拍照并存储在SD卡中.现在我只需要从文件夹(/ sdcard/Pictures/PhotoSender /)获取图片的功能,并自动发送到用户请求的电子邮件.我怎样才能做到这一点?

我在那个文件夹中有图片.我只需要一些函数来生成电子邮件,将图片(.jpg)作为附件发送(所有这些都在背景上).当电子邮件完全发送时,应该弹出一个"上传完成"的Toast.同时用户应该可以自由拍摄更多照片,因此上传请求应该放在队列中.用户不应使用他的电子邮件帐户登录发送.如果需要,我可以为我的应用创建一个电子邮件帐户作为"发件人".请帮我!

email android email-attachments android-intent android-service

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

使用BufferedReader读取资源

我正在尝试读取将包含在.JAR中的资源,但我得到以下的nullPointer:

bReader = new BufferedReader(new InputStreamReader(
                  this.getClass().getResourceAsStream("resources/" + fileName)));
Run Code Online (Sandbox Code Playgroud)

然而,使用文件,工作正常..

bReader = new BufferedReader(new FileReader(new File("resources/" + fileName)));
Run Code Online (Sandbox Code Playgroud)

java resources jar bufferedreader

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

How to check if current user is logged in android

How to check if current user is logged in android. I have an external database, I have successfully connected it to the database. I need to check if the user is logged in or not

if user not logged will display {register activity} otherwise will display {my info activity}

android

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

将weka模型转换为java代码

通过右键单击模型并选择"保存模型",我保存了weka分类的结果.现在,我想加载它并在我的"JAVA"应用程序中使用.我怎样才能做到这一点?模型可以是朴素偏见,决策树和回归.我需要使用这三个模型.

任何建议或解决方案将不胜感激.

谢谢.

java model classification machine-learning weka

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

AudioManager在死线程上向处理程序发送消息?

我正在尝试以编程方式将卷提升到STREAM_MUSIC流的最大值,但是当我这样做时,我正在"向死机线程上的处理程序发送消息".此外,它似乎没有100%的时间提高音量,虽然当我得到这个错误时,它会提高它的大部分时间.

代码是:

System.out.println("Maximum volume for this stream is: "+maxstreamvol+" and it used to be set to: "+currentvol);     
final AudioManager am = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_MUSIC, maxstreamvol, AudioManager.FLAG_SHOW_UI);
am.setStreamSolo(AudioManager.STREAM_MUSIC, true);
System.out.println("Volume Raised!"); 
Run Code Online (Sandbox Code Playgroud)

在谷歌搜索后,似乎这个错误与多线程情况有关......此时的代码应该在UI线程上运行.

事实上,我甚至把它包围着:

runOnUiThread(new Runnable() {

    public void run() {
        // code_goes_here
    }
});
Run Code Online (Sandbox Code Playgroud)

而且,这产生了同样的错误.我看到的错误是这样的:

I/System.out(24949): Maximum volume for this stream is: 15 and it used to be set to: 0
W/MessageQueue(  490): Handler (android.media.AudioManager$FocusEventHandlerDelegate$1) {42b52f28} sending message to a Handler on a dead thread
W/MessageQueue(  490): java.lang.RuntimeException: …
Run Code Online (Sandbox Code Playgroud)

java android android-audiomanager android-handler

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

找不到Vagrant,Apache文件

我想安装一个有流浪汉的虚拟机.我使用puphet来启动和运行我的虚拟机.从https://puphpet.com/下载文件后, 我运行命令vagrant up.这工作正常,没有错误.但是当我去我的apache服务器(ip:192.168.56.101/).它说

    File not found
Run Code Online (Sandbox Code Playgroud)

我的config.yaml看起来像这样:

vagrantfile-local:
vm:
    box: puphpet/debian75-x64
    box_url: puphpet/debian75-x64
    hostname: ''
    memory: '512'
    cpus: '1'
    chosen_provider: virtualbox
    network:
        private_network: 192.168.56.101
        forwarded_port:
            3gxDQCQAxfdF:
                host: '7872'
                guest: '22'
    post_up_message: ''
    provider:
        virtualbox:
            modifyvm:
                natdnshostresolver1: on
        vmware:
            numvcpus: 1
        parallels:
            cpus: 1
    provision:
        puppet:
            manifests_path: puphpet/puppet
            manifest_file: site.pp
            module_path: puphpet/puppet/modules
            options:
                - '--verbose'
                - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
                - '--parser future'
    synced_folder:
        ncdRZBfrkcfO:
            source: ./
            target: /var/www
            sync_type: default
            rsync:
                args:
                    - '--verbose'
                    - '--archive'
                    - '-z'
                exclude:
                    - …
Run Code Online (Sandbox Code Playgroud)

php ruby linux vagrant

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

收集特定时期的Android传感器并计算平均值

我正在尝试编写一种方法,该方法在特定时间段内收集加速度计传感器值,并返回该时间段内传感器读数的平均值.

它应该是一个同步即阻塞方法,一旦被调用它将阻塞调用线程一段时间然后将返回传感器平均值

我确实检查了下面类似的问题,但似乎没有适合我的案例的正确解决方案:

SensorEventListener位于单独的线程中

Android - 如何运行传感器(服务,线程,活动)?

Android传感器和线程

一种等待传感器数据的方法

我也尝试使用Executors类似于 这个问题,但无法按照我的意愿使用它.

下面是我的代码框架,其中该方法sensorAverage是一种阻塞方法,它将计算加速度计传感器在一段时间内的平均值等于timeout参数

Average average = new Average(); // Some class to calculate the mean

double sensorAverage(long timeout){
    Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
    sensorManager.registerListener(this, sensor,SensorManager.SENSOR_DELAY_NORMAL);

    // This does not work
    Thread.sleep(timeout);

    sensorManager.unregisterListener(this);

    return average.value();
}

public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_LINEAR_ACCELERATION) {
        double x2 = Math.pow(event.values[0], 2);
        double y2 = Math.pow(event.values[1], 2);
        double z2 = Math.pow(event.values[2], 2);
        average.add(Math.sqrt((x2 + y2 + z2))); …
Run Code Online (Sandbox Code Playgroud)

java multithreading android android-sensors

5
推荐指数
1
解决办法
2712
查看次数

如何在Java中链接到本地​​文件?

我想在面板内显示指向音频文件的链接。它应该在用户点击它时播放。我怎样才能做到这一点?

java audio file

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

垃圾邮件分类 - 机器学习

我必须使用一些分类器(例如Naive Bayes,SVM和另一个分类器)进行垃圾邮件检测应用程序并比较它们的效率但不幸的是我不知道我应该做什么.

这是正确的:首先我应该有语料库垃圾邮件,如trec2005,spamassasin或enron-spam.然后,我进行文本预处理,如词干,停止单词删除,标记化等.

之后,我可以使用tf-idf在垃圾邮件中测量我的功能/条款的权重.接下来,我以非常低和非常高的频率移除这些功能.然后我可以对我的电子邮件进行分类.对?

之后,我可以通过真阳性,假阳性等来衡量我的正确分类.

什么东西需要10倍交叉验证?我该怎么用?

你能告诉我这些电子邮件分类的步骤是否正常?如果没有,请解释垃圾邮件分类的正确步骤.

classification machine-learning spam-prevention

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

如何编写此查询SQL-server 2014

这是我的表结构:

id value
1 -1
1  0
1 -11
3 -1
3  9
2 -1
2 -3
2 -8
2 -10
Run Code Online (Sandbox Code Playgroud)

output = 2

如何选择id所有值的位置negative

select id from table where value <0
Run Code Online (Sandbox Code Playgroud)

但它也给了其他身份!

我需要选择所有值都是的id negative

sql-server

0
推荐指数
1
解决办法
65
查看次数