0

私は解決するのが非常に簡単な問題を抱えていますが、私を助けるためのチュートリアルをインターネット上で見ることができません。この問題はかなり基本的なものなので、検索に適切なキーワードを使用していないと思います。

私の問題は、メソッドを使用して解析EditTextし、このメソッドを使用してグラフの値をフィードすることです。

public int getSetPoint(){
    int setPointRequest = Integer.parseInt(txtSetPoint.getText().toString());
    if (setPointRequest > 90 && setPointRequest < 120);
        return setPointRequest;
    // ...
}

ユーザーがキーパッドを押した後との間setPointRequest()の値がある場合にのみ、値を解析したいと思います。ユーザーが値の入力を求められると、すでにキーパッドに数字のみが表示されています。91119Enter

現在、ユーザーがヒットしなくても入力したすべての値がEnterグラフに登録されています。

ご協力いただきありがとうございます!算数

4

2 に答える 2

0
public int getSetPoint(){
  int setPointRequest = Integer.parseInt(txtSetPoint.getText().toString());
  if(setPointRequest>90 && setPointRequest<120) //notice the lack of ;
    return setPointRequest;

  return -1;
}

エンターキーを処理するには:

txtSetPoint.setOnEditorActionListener ( new OnEditorActionListener() {
  @Override
  public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
  {
    if (actionId == EditorInfo.IME_NULL)
      getSetPoint();
    return true;
  }
});

最初の問題は、の直後のセミコロンifです。それを削除します。

2番目の問題は、この問題を修正した後、デフォルトのreturnステートメントが必要なためコンパイル時エラーが発生することです(そうでない場合に実行することが保証されます)。私が使用-1した、あなたはそれをあなたのニーズに合わせてカスタマイズすることができます。try/catchまた、奇妙なエラーから安全にするために解析を入れますが、それはあなた次第です。

さらに、名前が悪く、getSetPoint()名前からすぐにはわかりませんが、戻り値の型と引数の欠如は大まかな考えを示しています。

于 2013-03-05T00:14:34.063 に答える
0

A--Cが言ったことを組み合わせて、EditTextのsetOnKeyListenerを使用して、ユーザーがEnterキーを押したときにのみテキストを取得するようにします。

public int getSetPoint(){
  int setPointRequest = Integer.parseInt(txtSetPoint.getText().toString());
  if(setPointRequest>90 && setPointRequest<120)
    {return setPointRequest;}

  else {return -1;}
}

txtSetPoint.setOnKeyListener(new OnKeyListener(){ //this method waits for the enter key to be hit

@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {

    switch(arg1)
    {
          case KeyEvent.KEYCODE_ENTER:
               getSetPoint(); //when enter key is hit, call the getSetPoint method
               return true;
          default: 
               return false;

    }

   }
});
于 2013-03-05T00:29:10.540 に答える