2개의 액티비티를 사용하고있습니다.
첫번째 액티비티에 있는 EDITTEXT에 숫자를 입력하고
intent를 이용해 값을 두번째 액티비티에 전달할 준비를하고
OK 라는 버튼을눌러서 2번째 액티비티로 넘어가는것입니다. 그리고
2번째 액티비티에서는 intent를 이용해 그 숫자를 전달받아 배경색을 바꾸는 것입니다.
문제는 EDITTEXT에 숫자가아니라 문자가 있을때 OK버튼을 누르면 오류가 발생하면서 어플이 종료가됩니다.
문자를 입력한상태에서 OK버튼을누를때 오류발생을 막고
숫자를 입력하세요라는 TOast를 보여주려면 어떻게 해야되나요?
첫번째 액티비티에 자바 소스입니다.
package com.example.act_test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
final EditText edittext1=(EditText) findViewById(R.id.edittext1);
final EditText edittext2=(EditText) findViewById(R.id.edittext2);
final EditText edittext3=(EditText) findViewById(R.id.edittext3);
Button b=(Button)findViewById(R.id.Button01);
b.setOnClickListener(new OnClickListener() {
public void onClick(View V){
Intent intent =new Intent(getApplicationContext(),MainActivity2.class);
intent.putExtra("edittext1", edittext1.getText().toString());
intent.putExtra("edittext2", edittext2.getText().toString());
intent.putExtra("edittext3", edittext3.getText().toString());
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
edittext1,2,3 에 숫자만 입력했을때는 잘되지만 문자입력시 에러를 방지하고싶습니다.
또한 색상값이 0~255 이다보니 300이나 400같은 그 이상의 숫자가 입력했을때
실행되지않고 다시 숫자를 입력해달라는 TOAST메세지를 보여주고싶습니다.
어떻게 해야될까요?
저는 JAVA처음 사용해봅니다.ㅠㅠ
저는 USB에 폰을 연결해서 폰에서 테스트합니다.