我是Android编程的新手,目前正试图让Actionbar正常工作.我的问题是,虽然我将XML文件中的项目设置为"始终",但无论我尝试什么,它都会不断地出现在溢出菜单中.我在这里发现了几个类似的问题,但没有一个解决方案解决了这个问题.
附加信息:ic_action_search图标位于项目的可绘制文件夹中.
main_activity_actions.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- Search, always displayed -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
app:showAsAction="always" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
app:showAsAction="never" />
</menu>
Run Code Online (Sandbox Code Playgroud)
strings.xml中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">My First App</string>
<string name="edit_message">Enter a message</string>
<string name="button_send">Send</string>
<string name="action_settings">Settings</string>
<string name="action_search">Search</string>
<string name="title_activity_main">MainActivity</string>
<string name="title_activity_display_message">My Message</string>
<string name="hello_world">Hello world!</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
在MainActivity.java中
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action …Run Code Online (Sandbox Code Playgroud) 我试图在for循环中发出几个服务器请求.我找到了这个问题并实施了建议的解决方案.但它似乎不起作用.
for (var i = 1; i <= 10; i++)
{
(function(i) {
if(<some conditions>)
{
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp[i]=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp[i]=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp[i].onreadystatechange=function() {
if (xmlhttp[i].readyState==4 && xmlhttp[i].status==200) {
document.getElementById("preselection").innerHTML=xmlhttp[i].responseText;
}
}
xmlhttp[i].open("GET","getBuoys.php?q="+i,true);
xmlhttp[i].send();
}
})(i);
}
Run Code Online (Sandbox Code Playgroud)
如果我删除了循环和更改所有XMLHTTP [I]到XMLHTTP,一切工作就好了一个元素,但我不能让几个请求.在此先感谢您的任何建议.
我正在尝试使用快速傅立叶变换来评估Google趋势时间序列的幅度谱。如果您在此处提供的数据中查看“饮食”数据,则显示出非常强烈的季节性模式:
我以为可以使用FFT分析这种模式,大概应该在1年内出现一个峰值。
但是,当我像这样应用FFT(a_gtrend_ham时间序列乘以汉明窗)时:
import matplotlib.pyplot as plt
import numpy as np
from numpy.fft import fft, fftshift
import pandas as pd
gtrend = pd.read_csv('multiTimeline.csv',index_col=0)
gtrend.index = pd.to_datetime(gtrend.index, format='%Y-%m')
# Sampling rate
fs = 12 #Points per year
a_gtrend_orig = gtrend['diet: (Worldwide)']
N_gtrend_orig = len(a_gtrend_orig)
length_gtrend_orig = N_gtrend_orig / fs
t_gtrend_orig = np.linspace(0, length_gtrend_orig, num = N_gtrend_orig, endpoint = False)
a_gtrend_sel = a_gtrend_orig.loc['2005-01-01 00:00:00':'2017-12-01 00:00:00']
N_gtrend = len(a_gtrend_sel)
length_gtrend = N_gtrend / fs
t_gtrend = np.linspace(0, length_gtrend, num …Run Code Online (Sandbox Code Playgroud) 我正在尝试在指定的时间戳切pandas.Series。从其他SO问题中,我得到了以下工作流程:
import pandas as pd
x = ... # some time data
y = ... # some value data
lower_limit_x = pd.to_datetime(x.index) >= pd.to_datetime('2019-01-23 20:59:04')
upper_limit_x = pd.to_datetime(x.index) <= pd.to_datetime('2019-01-23 21:37:44')
lower_limit_y = pd.to_datetime(y.index) >= pd.to_datetime('2019-01-23 20:59:04')
upper_limit_y = pd.to_datetime(y.index) <= pd.to_datetime('2019-01-23 21:37:44')
mask_x = lower_limit_x & upper_limit_x
mask_y = lower_limit_y & upper_limit_y
sliced_x = x[mask_x]
sliced_y = y[mask_y]
Run Code Online (Sandbox Code Playgroud)
但是,如果我从以下范围开始的数据集开始。2019-01-23 20:45至2019-01-23 04:00:
结果数据似乎为空。如果我做
sliced_y.values
Run Code Online (Sandbox Code Playgroud)
结果为空。
如何通过时间戳成功切片数据?
我目前正在研究基于地图的服务。在那里,用户可以通过使用drawingManager 绘制矩形和多边形来选择地图上的项目。在创建这些形状后,我将它们推送到全局数组,以保持对它们的控制,如下所示:
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(e) {
if (e.type != google.maps.drawing.OverlayType.MARKER) {
// Switch back to non-drawing mode after drawing a shape.
drawingManager.setDrawingMode(null);
var newShape = e.overlay;
all_overlays.push(newShape);
newShape.type = e.type;
newShape.id = all_overlays.length-1;
all_overlays[newShape.id].id = all_overlays.length-1;
}
Run Code Online (Sandbox Code Playgroud)
用户可以选择删除单个形状。我实现了这样的删除:
function deleteSelectedShape() {
if (selectedShape) {
all_overlays.splice(selectedShape.id,1);
while(jQuery.inArray(selectedShape.id, selected_shapes) != -1)
{
var shape_index = jQuery.inArray(selectedShape.id, selected_shapes);
selected_shapes.splice(shape_index,1);
selected_buoys.splice(shape_index,1);
}
selectedShape.setMap(null);
selectedShape = '';
buildList();
highlightSelectedBuoys();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用。例如,如果我得到一个具有 4 个形状 (ids:0,1,2,3) 的数组并删除 id=0 的数组,则 all_overlays 数组不会改变它的大小,这会在下一步中搞砸整个事情。我的错误在哪里?
我正在尝试使用 url 回调构建多页面 Dash 应用程序。我的应用程序名为 dash_apps.py 如下所示:
\nfrom flask import Flask\nfrom flask import request\nimport dash\nimport dash_core_components as dcc\nimport dash_html_components as html\nfrom dash.dependencies import Input, Output, State\n\nserver = Flask(__name__)\napp = dash.Dash(\n __name__,\n server = server,\n serve_locally = False,\n requests_pathname_prefix = "/plotary/dash/",\n)\n\napp.layout = html.Div([\n html.Div([\n html.A([\n html.Div(id="logo")\n ],href=\'https://man-es.com\'),\n html.Div([\n html.H1(\'Keine Auswertung ausgew\xc3\xa4hlt. \')\n ],id="description"),\n ],\n id="navbar")]\n)\n\n@app.callback(Output(\'description\', \'children\'),\n [Input(\'url\', \'pathname\')])\ndef display_page(pathname):\n return html.Div([\n html.H1(\'Auswertung Nr {}\'.format(pathname))\n ])\n\n@server.route(\'/plotary/dash/<int:report_id>\')\ndef create_report(report_id):\n return app\n\nif __name__ == \'__main__\':\n app.run_server(debug=True)\nRun Code Online (Sandbox Code Playgroud)\n并通过 wsgi.py 调用,如下所示:
\nfrom dash_apps import …Run Code Online (Sandbox Code Playgroud)