마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

실행오류를 막으려면 어떻게 해야되나요?

0 추천

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에 폰을 연결해서 폰에서 테스트합니다. 

 

익명사용자 님이 2013년 11월 15일 질문

1개의 답변

0 추천
 
채택된 답변

http://www.androes.com/14

 

애초에 숫자만 입력받도록 하면 문제 없을 것 같네요.

김생선 (3,310 포인트) 님이 2013년 11월 15일 답변
만약에 숫자가 255보다 큰수가 입력했을때 실행 안되게 하려면 어떻게해야하나요?

    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);
            }

위에 소스에서
if를 이용해서
if(edittext1 >255) {toast~~~"255보다 작은수입력해주세요"}
else
   startActiviti(intent);

이런식으로하고싶은데
에러가 엄청나네요.

먼저 edittext에 값을 숫자로 받은후에 255와 비교해야되는게 그부분이 어렵습니다.
...