-4

ユーザーがスピナーを介して時刻を入力し、その時刻が17:00の場合、エラーToastを返します。スピナー内でbeginTimeを文字列として宣言したので、これをIntに変換して戻す必要があります。その値が17:00に等しいかどうかを確認します

 public void checkBeginTime()

 String begingTime = beginTimespinner.getText().toString();

   if (beginTime == 17:00)
   {
   Toast.etc
   }

   else 

   {
   add beginTime;
   }

私がこれをやろうとすると:、何かアイデアがあるのでうまくいきませんか?

4

5 に答える 5

1

そもそも beginTime が文字列であると仮定すると、文字列を == と比較することはありません。.equals() メソッドを使用する必要があります。(理由はGoogle)。

Java では、次のようにします。

private void testVal(String beginTime) {
        String testVal = "17:00";
        if (testVal.equals(beginTime)){
            System.out.println("Matched " + beginTime);
            // Or whatever you want in Android, such as Toast
        }
        else{
            System.out.println("No match with " + beginTime);
            // Or whatever you want in Android, such as Toast
        }

    }

そのメソッドを次のように呼び出します。

String beginTime = "17:00"; // or in your case beginTimespinner.getText().toString();
test.testVal(beginTime);
于 2012-04-24T14:47:34.747 に答える
1
   your_str = your_str.replace(":", ""); 

   your_int = Intger.parseInt(your_str);

一意の整数になります。

于 2012-04-24T13:52:31.963 に答える
0

スピナーを使用してユーザーに時間を入力させると仮定して、代わりにTimePickerまたはTimePickerDialogのいずれかを使用することを検討しましたか?

次のコードは、TimePickerチュートリアルから取得したものです。私は自分のポイントを説明するために関連するメソッドを貼り付けただけですが、完全なチュートリアルはここにあります:

public class HelloTimePickerActivity extends Activity {
private TextView mTimeDisplay;
private Button mPickTime;

static final int TIME_DIALOG_ID = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // capture our View elements
    mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);
    mPickTime = (Button) findViewById(R.id.pickTime);

    // add a click listener to the button
    mPickTime.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            showDialog(TIME_DIALOG_ID);
        }
    });

  // snip...
}

// the callback received when the user "sets" the time in the dialog
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        mHour = hourOfDay;
        mMinute = minute;
    }
};

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case TIME_DIALOG_ID:
        return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, false);
    }
    return null;
    }
}

ご覧のとおり、コールバックonTimeSet()は時間と分をint値として渡されるため、簡単に確認できます。

于 2012-04-24T18:42:41.857 に答える
0

あなたが何を求めているのかを理解するのは非常に難しいです。将来的には、投稿する前に少し時間を取って考えをまとめてください。

でも刺します。

「17:00」

あなたが言った文字列です。通常、string-> int変換について話すとき、最終目標は明確です。つまり、あなたが望むものを簡単に理解できます。

"15"-> 15; "-2"->-2//など

コロンはこの理由でトリッキーです、あなたは17または1700が欲しいですか?明らかに非常に異なります。ただし、これは文字列操作で制御できます。1700が必要だとすると、次のことができます。

String str = "17:00";
int StrAsInt = Integer.ParseInt(str.replace(":",""));

または、17の場合、コロンのインデックスへのサブストリングインデックス0。重要なのは、そのようなものを整数に変換するには、自分で足の作業を行う必要があるということです。

于 2012-04-24T13:56:48.227 に答える
0
int MyInt=Integer.parseInt("17.00");
于 2012-04-24T13:51:37.957 に答える