我有一个带导航抽屉的应用程序和4个导航项目(碎片).在其中一个片段中,我有一个标签布局设置了一个视图寻呼机(另外3个片段).
从这些内部片段中的一个,我想动态地禁用/启用导航抽屉.基本上,按下按钮,我想限制对导航抽屉的访问(并再次按下它时重新启用).
我该怎么办?
我尝试DrawerLayout从这个内部片段访问父活动.但我没有看到启用/禁用导航抽屉的方法.
我将抽屉添加到主Activity的方式:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)
(当然我已经toggle.syncState()从onPostCreate方法中添加了.
我需要比较两个电话号码,以确定它们是否来自同一个发送者/接收者.用户可以向联系人发送消息,该联系人可以回复.
答复通常以
+[country-code][area-code-if-any][and-then-the-actual-number]格式提供.例如,
+94 71 2593276对于斯里兰卡的电话号码.
当用户发送消息时,他通常会以格式输入(对于上面的示例)0712593276(假设他也在斯里兰卡).
所以我需要的是,我需要检查这两个数字是否相同.此应用程序将在国际上使用.所以我不能只用0替换前2位数(那么对于像美国这样的国家来说这将是一个问题).有没有办法在Java或Android专门做到这一点?
谢谢.
我正在制作一个Android应用程序,它必须通过Internet加载一些数据(只有一些数据 - 不是全部).因此,当加载数据,并且Internet连接速度很慢时,我想向用户显示"正在加载..."图标.
那我该怎么做呢?在后台加载数据时显示"正在加载..."图标,当它完全加载时,隐藏图标?
提前致谢!
如果给我一个字符串skhfbvqa,我将如何生成下一个字符串?对于这个例子,它将是skhfbvqb,并且下一个字符串将是skhfbvqc,依此类推.给定的字符串(和答案)总是N个字符长(在这种情况下,N = 8).
我尝试了什么:
我试图生成可能组合的整个(无限)列表,并获得给定字符串的必需(下一个)字符串,但不出所料,它太慢了,我甚至得不到N = 6的答案.
我使用了列表理解:
allStrings = [ c : s | s <- "" : allStrings, c <- ['a'..'z'] ]
main = do
input <- readFile "k.in"
putStrLn . head . tail . dropWhile (not . (==) input) . map reverse $ allStrings
Run Code Online (Sandbox Code Playgroud)
(请原谅我非常糟糕的Haskell-ing :)还是一个菜鸟)
所以我的问题是,我该怎么做?如果有多种方法,我们非常感谢它们之间的比较.谢谢!
我正在制作Android应用程序而且我使用了SQLite数据库.但我发现如果你输入单引号(')等字符(也用作主键),数据将无法正确保存/检索.
这是我的问题还是真的?如果真的有更多这样的人物?
谢谢.
@bdares和@mu感谢您的提示,但是请您告诉我如何在SQLite中使用占位符和/或预处理语句?
我之前总是使用直接字符串连接,但现在看来这是一个不好的做法,我想使用预处理语句和/或占位符.
我读到经典的旅行商问题(TSP)是 NP 难问题。并且有一些近似算法以及在 O(N^2 * 2^N) 时间内运行的特定算法。但据我所知,这些是针对一般图表中的 TSP 的。
所以我的问题是,是否有更好的(优选多项式时间)算法来求解 M x N 网格中的 TSP?
例如,假设有一个 3x4 的网格,从一个单元格到 2 个相邻(底部和右侧)单元格中的每一个单元格的移动成本不同。所以我想找到访问所有单元格的最小成本,从单元格 (0, 0) 开始并返回到单元格 (0, 0)。
编辑:为了澄清事情,我很确定这不是欧几里得 TSP。为简单起见,请考虑以下示例。一个矩形被分成M行和N列。推销员位于单元格 0, 0(左上角单元格)。他必须访问所有单元格并仍然返回到起始单元格 (0, 0)。但他只能从一个单元格移动到其 4 个相邻单元格(上、左、下、右)中的每一个。并且从一个小区到其任何一个相邻小区的成本可能并不相同。
谢谢。
我需要获得给定集合的所有可能组合.例如,给定:[1,4,7],得到的组合应该是:
我尝试使用next_permutation方法,但它不是我想要的(这不会返回像111,144,717等的值).
那么我有什么方法可以用C++做到这一点?请注意,我是一个完整的初学者.
提前致谢.
是否有可能编写一个函数,它接受一个函数(Something -> Something),并返回它,但是有一个类型(Maybe Something -> Maybe Something)?
例如:
f :: Point -> Point
f x = [some code goes here]
makeItMaybe :: (Point -> Point) -> (Maybe Point -> Maybe Point)
makeItMaybe x = ???
Run Code Online (Sandbox Code Playgroud)
我知道它与Monads和Applicatives有关,但无法弄清楚如何.我打了一下周围有<*>和<$>,但没有取得任何进展.
任何帮助或指示正确的方向将不胜感激.谢谢!
假设有一个 C++ 代码,我使用以下命令编译成可执行文件:
g++ test.cpp -o testcpp
Run Code Online (Sandbox Code Playgroud)
我可以使用终端运行它(我使用的是 OS X),并提供一个用于在 C++ 程序内部处理的输入文件,例如:
./testcpp < input.txt
Run Code Online (Sandbox Code Playgroud)
我想知道从Haskell内部这样做是否可行。我听说过模块中的readProcess函数System.Process。但这仅允许运行系统 shell 命令。
这样做:
out <- readProcess "testcpp" [] "test.in"
Run Code Online (Sandbox Code Playgroud)
或者:
out <- readProcess "testcpp < test.in" [] ""
Run Code Online (Sandbox Code Playgroud)
或者:
out <- readProcess "./testcpp < test.in" [] ""
Run Code Online (Sandbox Code Playgroud)
抛出此错误(或非常相似的错误,具体取决于我使用的是上述哪一个):
testcpp: readProcess: runInteractiveProcess: exec: does not exist (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,Haskell 是否可以这样做。如果是这样,我应该如何使用以及使用哪些模块/功能?谢谢。
编辑
好的,正如大卫建议的那样,我删除了输入参数并尝试运行它。这样做有效:
out <- readProcess "./testcpp" [] ""
Run Code Online (Sandbox Code Playgroud)
但我仍然坚持提供输入。
android ×4
algorithm ×3
haskell ×3
java ×2
string ×2
c++ ×1
character ×1
combinations ×1
database ×1
download ×1
executable ×1
function ×1
monads ×1
navigation ×1
np ×1
phone-number ×1
shell ×1
sql ×1
sqlite ×1