小编bas*_*354的帖子

停止handler.postDelayed()

我通过新的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)

android handler postdelayed android-handler

94
推荐指数
3
解决办法
8万
查看次数

如何在Android中使用SharedPreferences存储布尔值?

我想保存布尔值,然后在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的布尔变量?

android if-statement boolean sharedpreferences

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

如何为UIBarButtonItem设置操作?

我尝试像以前用普通按钮设置UIBarButtonItem的动作:

  1. 在故事板中选择UIBarButtonItem.
  2. 右键单击并拉到我的.h文件
  3. 切换到操作并选择UIBarButtonItem并为操作命名.

        - (IBAction)haupt:(UIBarButtonItem *)sender;
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在我的.m文件的函数中写一些代码.

    - (IBAction)haupt:(UIBarButtonItem *)sender {
        NSLog(@"button");
    
    
        }
    
    Run Code Online (Sandbox Code Playgroud)

现在我在模拟器中尝试这个,但没有任何反应(控制台上没有输出).我做错了什么?

xcode uinavigationcontroller uibarbuttonitem ios

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

在Haskell的If-Else中会发生什么?

我在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 if-statement function

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

这个函数是如何工作的:const const(否定1)(否定2)3

我正在学习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 functional-programming function

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

这个基于foldl的函数如何工作:"myreverse = foldl(flip(:))[]"?

我正在学习haskell,我试图编写自己的反向函数而不使用递归.

解决方案是这个功能:

myreverse = foldl (flip (:)) []
Run Code Online (Sandbox Code Playgroud)

我试图了解评估过程中发生的事情,比如说:

myreverse [1..5]
Run Code Online (Sandbox Code Playgroud)

我无法理解这里有什么翻盖.有人可以通过逐步解释来记下这里发生的事情吗?

recursion haskell foldleft

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

在 C# 中我们应该使用 String.format 还是 String.replace?

我们正在尝试创建一个显示用户消息的应用程序。以下是一些消息示例:

  • “您收到了来自 {Offerclub} 的对 {PlayerName} 的报价。他们将支付 {Offer}”。
  • “{Offerclub} 想以 {Offer} 购买 {Playername}”。

我们从数据库中获取这些字符串。(我们的第一次尝试是创建一个具有不同功能的类,它给我们返回字符串。我们使用了字符串插值。然后我们意识到这不是一个好的选择,因为用户无法自己创建内容/字符串,而我们每次我们在此类中创建更多字符串时都必须更新我们的应用程序。)

我们知道的选项:

  1. String.format:类似的东西:

    string result = string.Format("{1} blabal...- {2}blabla... {3}", value1, value2, value3);

这里的问题是:我们想要使用具有不同输入位置的字符串,就像我们的示例一样。有时第一个是球员姓名,有时是俱乐部名称......

  1. String.replace:我们考虑了固定的占位符名称,然后使用替换来进行更改。
  2. 字符串生成器:我们想简单地连接字符串。我们首先从数据库中读取它们并使用 String.split 创建字符串数组。

问题:

  • 有更好的选择吗?(我们正在讨论一些消息。在最坏的情况下可能有几百条消息)我们更喜欢使用 String.replace 因为它听起来是最简单的解决方案。

c# string stringbuilder replace string-formatting

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

audioPlayerDidFinishPlaying未调用

我遇到了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)

callback avaudioplayer ios

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

过滤haskell中的列表理解

我有这个列表理解:

[(x,y)| x<-[1..2], y<-[x..3], let z = x+y, odd z]
Run Code Online (Sandbox Code Playgroud)
  1. 正确的结果是[(1,2),(2,3)],但我不明白为什么.什么是过滤器"让z = x + y,奇数z"做什么?其他代码中没有"z",所以我无法理解为什么这会改变一些东西.
  2. 有人可以一步一步解释这里发生的事情.

非常感谢!

haskell list-comprehension filter

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

Haskell函数 - 下一个用于枚举

我有一个枚举和一个函数来调用枚举的下一个元素.

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)

enums haskell next

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

haskell中的点运算符

我有一个使用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 operators dot-operator

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

在haskell中使用Diagrams库(绘制二叉树)

我正在尝试使用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)

tree recursion binary-tree haskell functional-programming

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