小编Sco*_*ott的帖子

处理在不同设备上的EditText中输入密钥

现在我正在使用onEditorActionListener处理我的EditText字段中的enter键,并查看IME_NULL的Action ID.它适用于所有用户,除了一个.她有一个Xperia Arc.

TextView.OnEditorActionListener keyListener = new TextView.OnEditorActionListener(){
  public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
    if(actionId == EditorInfo.IME_NULL){
      if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.etUser))){
        ((EditText) findViewById(R.id.etPass)).requestFocus();
      }
      if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.etPass))){
        logon();
      }
    }
  return true;
  }
};
Run Code Online (Sandbox Code Playgroud)

在了解了这个问题后,我尝试了另一种方法,使用onKeyListener并查找键事件ACTION_DOWN,然后检查键码是否与KEYCODE_ENTER匹配.

EditText etUserName = (EditText) findViewById(R.id.etUser);
etUserName.setOnKeyListener(new OnKeyListener() {
  public boolean onKey(View view, int keyCode, KeyEvent event){
    if (event.getAction() == KeyEvent.ACTION_DOWN){
      switch (keyCode)
      {
        case KeyEvent.KEYCODE_DPAD_CENTER:
        case KeyEvent.KEYCODE_ENTER:
          if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.etUser))){
            ((EditText) findViewById(R.id.etPass)).requestFocus();
          }
          return true;
        default:
          break;
      }
    }
    return false;
  }
}); …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-edittext

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

Android - 启动线程崩溃应用程序

我有一些活动.在主活动中,我有一个登录屏幕,当用户按下登录按钮时,启动一个线程以显示进度对话框,直到用户通过身份验证.此时,我加载下一个活动,该活动有几个字段供用户输入数据.

在这里,用户输入一些数据并按下按钮来处理它.数据将传递到实际处理和显示数据的新活动.这是我创建新线程的地方以及当我调用thread.start()时它崩溃的地方; 我不知道为什么会这样.

这两个活动都在实施Runnable.

我使用下面相同的代码在第一个活动的按钮按下和最后一个活动的onCreate方法中创建并调用thread.start():

pd = ProgressDialog.show(search_results.this, "", "Searching...", true, false);
    Thread thread = new Thread(this);
    thread.start();
Run Code Online (Sandbox Code Playgroud)

我也使用下面相同的代码来处理两者的线程.

public void run() {
    handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {            
            pd.dismiss();               
    }
};
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?我真的不明白它为什么会崩溃.

multithreading android

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

iOS HTML Unicode到NSString?

我正在将Android应用程序移植到iOS,我遇到了一个小问题.我正在从网页中提取HTML编码数据,但有些数据以Unicode显示以显示外国字符...所以俄语中的字符(Летизамной)将被解析为,"Лет..."

在android中我通过调用HTML.fromHTML()来解决这个问题.iOS中有类似的东西吗?

html unicode ios

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