アクティビティ A からアクティビティ B に値を渡し、値を編集可能にする必要があるため、値を EditText に保存しています。目的は、編集可能なオプションを提供することです。いくつかの文字を入力すると受け入れられ、アプリケーションが実行されますが、テキスト間にスペースを挿入すると、たとえば name[space]initial と実行され、アプリケーションがクラッシュします。
ログを見たところ、不正な引数と書かれています。問題の原因がわかりません..
rname=getIntent().getExtras().getString("NAME"); 以前のアクティビティからの値がここで取得されます。remail=getIntent().getExtras().getString("EMAIL"); rphone=getIntent().getExtras().getString("電話番号"); raddress=getIntent().getExtras().getString("ADDRESS"); rcity=getIntent().getExtras().getString("CITY"); rcityloc=getIntent().getExtras().getString("CITYLOCATION"); rqual=getIntent().getExtras().getString("資格"); rgender=getIntent().getExtras().getString("GENDER");
上記の受信値は、以下のように編集テキスト ボックスに格納されています。 ename=(EditText)findViewById(R.id.namebox); ename.setText(rname,TextView.BufferType.EDITABLE);
eemail=(EditText)findViewById(R.id.emailbox); eemail.setText(メール、TextView.BufferType.NORMAL);
ephone=(EditText)findViewById(R.id.phonebox);
ephone.setText(rphone,TextView.BufferType.EDITABLE);
eaddress=(EditText)findViewById(R.id.addressbox);
eaddress.setText(raddress,TextView.BufferType.EDITABLE);
ecity=(EditText)findViewById(R.id.citybox);
ecity.setText(rcity,TextView.BufferType.EDITABLE);
ecityloc=(EditText)findViewById(R.id.citylocbox);
ecityloc.setText(rcityloc,TextView.BufferType.EDITABLE);
equal=(EditText)findViewById(R.id.qualbox);
equal.setText(rqual,TextView.BufferType.EDITABLE);
egender=(EditText)findViewById(R.id.genderbox);
gender.setText(rgender,TextView.BufferType.EDITABLE);
3.存在する場合は編集が行われ、以下のコードでサーバーに送信されます編集テキスト値は文字列に変換されてからサーバーに送信されます
HttpPost httppost = new HttpPost(UrlPath.Upath+"User_profile_update?sid=" + sid + "&name=" +sname+ "&phone=" + sphone + "&address=" + saddress + "&city=" + scity + "&city_location=" + scityloc + "&qualification=" +squal + "&gender=" +sgender );
- ログ出力
FATAL EXCEPTION : main
java.lang.IllegalArgumentException: Illegal charecter in query at で、 上記の 3 で説明した post メソッドの URL
を表示します