我通过新的Handler()调用多个处理程序.postDelayed(new Runnable().....如果单击返回按钮,我怎么能阻止它?
public class MyActivity extends AppCompatActivity implements OnClickListener {
private Button btn;
private Handler handler;
private Runnable myRunnable;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
btn = (Button) findViewById(R.id.trainingsstart);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Handler handler = new Handler();
Runnable myRunnable = new Runnable() {
public void run() {
// Things to be done
}
};
handler.postDelayed(myRunnable, 3000);
}
@Override
public void onBackPressed() {
super.onBackPressed();
handler.removeCallbacks(myRunnable);
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个问题,我的处理程序没有像"myHandler"这样的名字.我该怎么处理?感谢帮助!
现在我收到了这些错误:
03-28 17:47:03.662: E/AndroidRuntime(1961): FATAL EXCEPTION: main …
Run Code Online (Sandbox Code Playgroud) 我想保存布尔值,然后在if-else块中进行比较.
我目前的逻辑是:
boolean locked = true;
if (locked == true) {
/* SETBoolean TO FALSE */
} else {
Intent newActivity4 = new Intent(parent.getContext(), Tag1.class);
startActivity(newActivity4);
}
Run Code Online (Sandbox Code Playgroud)
如何保存已设置为false的布尔变量?
我尝试像以前用普通按钮设置UIBarButtonItem的动作:
切换到操作并选择UIBarButtonItem并为操作命名.
- (IBAction)haupt:(UIBarButtonItem *)sender;
Run Code Online (Sandbox Code Playgroud)在我的.m文件的函数中写一些代码.
- (IBAction)haupt:(UIBarButtonItem *)sender {
NSLog(@"button");
}
Run Code Online (Sandbox Code Playgroud)现在我在模拟器中尝试这个,但没有任何反应(控制台上没有输出).我做错了什么?
我在haskell中有这个if-else子句.
let f x y = if y/=0 then f (x+1) (y-1) else x in f 3 5
Run Code Online (Sandbox Code Playgroud)
结果是8.我无法理解为什么.
有人可以逐步向我解释吗?感谢帮助!
我正在学习Haskell atm,现在我发现了这个功能
const const (negate 1) (negate 2) 3
Run Code Online (Sandbox Code Playgroud)
该函数的结果是-2.我不明白为什么结果不是-2.
const :: a -> b -> a
negate :: Num a => a -> a
Run Code Online (Sandbox Code Playgroud)
所以我认为我也可以像这样设置括号:const(const(negate 1)(negate 2))3但是现在我得到-1作为结果.
我的错在哪里?我不明白,这是怎么回事.
我正在学习haskell,我试图编写自己的反向函数而不使用递归.
解决方案是这个功能:
myreverse = foldl (flip (:)) []
Run Code Online (Sandbox Code Playgroud)
我试图了解评估过程中发生的事情,比如说:
myreverse [1..5]
Run Code Online (Sandbox Code Playgroud)
我无法理解这里有什么翻盖.有人可以通过逐步解释来记下这里发生的事情吗?
我们正在尝试创建一个显示用户消息的应用程序。以下是一些消息示例:
我们从数据库中获取这些字符串。(我们的第一次尝试是创建一个具有不同功能的类,它给我们返回字符串。我们使用了字符串插值。然后我们意识到这不是一个好的选择,因为用户无法自己创建内容/字符串,而我们每次我们在此类中创建更多字符串时都必须更新我们的应用程序。)
我们知道的选项:
String.format:类似的东西:
string result = string.Format("{1} blabal...- {2}blabla... {3}", value1, value2, value3);
这里的问题是:我们想要使用具有不同输入位置的字符串,就像我们的示例一样。有时第一个是球员姓名,有时是俱乐部名称......
问题:
我遇到了AVAudioPlayer的问题.我的声音文件完成后我想做点什么.声音正在播放,但未调用audioPlayerDidFinishPlaying.
我的.h
#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>
@interface Tag1Uebung1ViewController : ViewController {
AVAudioPlayer *audioPlayer;
}
@end
Run Code Online (Sandbox Code Playgroud)
我的.m(impl.文件)
#import "Tag1Uebung1ViewController.h"
#import <AVFoundation/AVFoundation.h>
#import "Tag1U2ViewController.h"
@interface Tag1Uebung1ViewController ()
@end
@implementation Tag1Uebung1ViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/crunch_wdh8.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer.delegate = self;
NSLog(@"Entered the callback function");
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
//audioPlayer.numberOfLoops = …
Run Code Online (Sandbox Code Playgroud) 我有这个列表理解:
[(x,y)| x<-[1..2], y<-[x..3], let z = x+y, odd z]
Run Code Online (Sandbox Code Playgroud)
非常感谢!
我有一个枚举和一个函数来调用枚举的下一个元素.
data Day = Mon | Tue | Wed | Thu | Fri | Sat | Sun
next :: Day -> Day
next Mon = Tue
next Tue = Wed
next Wed = Thu
next Thu = Fri
next Fri = Sat
next Sat = Sun
next Sun = Mon
Run Code Online (Sandbox Code Playgroud)
我尝试通过调用:
> next Mon
Run Code Online (Sandbox Code Playgroud)
但编译器显示错误:
<interactive>:35:1:
No instance for (Show Day) arising from a use of `print'
Possible fix: add an instance declaration for (Show Day)
In a stmt of …
Run Code Online (Sandbox Code Playgroud) 我有一个使用Dot-operator的函数.现在我想写没有点.我怎样才能做到这一点?
all p = and . map p
Run Code Online (Sandbox Code Playgroud)
这是正确的吗?
all p = and (map p)
Run Code Online (Sandbox Code Playgroud)
我收到这些错误:
4.hs:8:13:
Couldn't match expected type `[Bool]'
with actual type `[a0] -> [b0]'
In the return type of a call of `map'
Probable cause: `map' is applied to too few arguments
In the first argument of `and', namely `(map p)'
In the expression: and (map p)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Haskell Diagrams库来绘制二叉树.
这是我的树型:
data Tree a = Empty
| Node { label :: a, left,right :: Tree a }
leaf :: a -> Tree a
leaf a = Node a Empty Empty
Run Code Online (Sandbox Code Playgroud)
这是一个随机树:
t0 = Node 1 (Node 2 (leaf 3) (leaf 4)) (Node 5 (leaf 6) (leaf 7))
Run Code Online (Sandbox Code Playgroud)
为了在中间绘制一个带有char的圆圈,我正在使用这个简单的函数(工作正常):
diagNode :: String -> Diag
Run Code Online (Sandbox Code Playgroud)
这是我绘制二叉树的代码:
diagTree :: Show s => Tree s -> Diag
diagTree Empty = diagNode "Empty"
diagTree (Node x Empty Empty) = connectOutside "X" "L" $ …
Run Code Online (Sandbox Code Playgroud)