呼び出された側のセット kanrActivity環境のセット
package com.rakusuke.apppickup;
//各種インポート
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.SQLException;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
// Activityの定義
public class kanrActivity extends Activity implements OnClickListener{
private Button mbtnend, mbtnok;
private String mid = "";
private String mpass = "";
private String mmode = "";
//初回実行
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.kanr);
mbtnend = (Button)findViewById(R.id.buttonkanrend2);
mbtnok = (Button)findViewById(R.id.buttonkanrok);
//ボタンをリスナーに登録
mbtnend.setOnClickListener(this);
mbtnok.setOnClickListener(this);
Intent intent = getIntent();
// インテントに保存されたデータを取得
String intent_id = intent.getStringExtra("intent_id");
String intent_pass= intent.getStringExtra("intent_pass");
String intent_mode= intent.getStringExtra("intent_mode");
mid = intent_id;
mpass = intent_pass;
mmode = intent_mode;
//画面にセット
EditText edittextid = (EditText) findViewById(R.id.editkanrid);
if (mmode.equals("MAIN")){
edittextid.setText("");
}else{
edittextid.setText(mid);
}
EditText edittextpass1 = (EditText) findViewById(R.id.editkanrpwd1);
edittextpass1.setText("");
EditText edittextpass2 = (EditText) findViewById(R.id.editkanrpwd2);
edittextpass2.setText("");
}
//クリック実行
public void onClick(View view) {
if (view.getId() == R.id.buttonkanrend2) {
if (mmode.equals("MAIN")){
Intent data = new Intent();
// インテントに値をセット
data.putExtra("intent_sel", "no");
data.putExtra("intent_id", "");
data.putExtra("intent_pass", "");
//結果をセット
setResult(RESULT_OK, data);
}
finish();
//登録
}else if (view.getId() == R.id.buttonkanrok) {
String strmsg = "";
String strsql = "";
EditText edittextid = (EditText) findViewById(R.id.editkanrid);
String strid = (String) edittextid.getText().toString();
EditText edittextpass1 = (EditText) findViewById(R.id.editkanrpwd1 );
String strpass1= (String) edittextpass1.getText().toString();
EditText edittextpass2 = (EditText) findViewById(R.id.editkanrpwd2 );
String strpass2= (String) edittextpass2.getText().toString();
if (strid.equals("")){
strmsg = "ID不良です";
}else if (strpass1.equals("")){
strmsg = "パスワード1不良です";
}else if (strpass2.equals("")){
strmsg = "パスワード2不良です";
}else if (!strpass1.equals(strpass2)){
strmsg = "パスワード不一致です";
}else {
//登録開始
//PickOpenHelperをインスタンス化
PickOpenHelper hlpr = new PickOpenHelper(getApplicationContext());
//DBをIOモードで
MainActivity.PICKDB= hlpr.getWritableDatabase();
//トランザクションの発行
MainActivity.PICKDB.beginTransaction();
//SQL作成
strsql = "delete from KANRTA2 "
+ " where cd = 1"
+ ";";
try {
//SQLの実行
MainActivity.PICKDB.execSQL(strsql);
} catch (SQLException e){
strmsg = e.getMessage();
} catch(Exception e){
strmsg = e.getMessage();
}
if (strmsg.equals("")){
strsql = "insert into KANRTA2"
+"(cd ,id,pass)"
+ " values "
+ "(1 "
+ "," + "'" + strid + "'"
+ "," + "'" + strpass1 + "'"
+ ");";
try {
//SQLの実行
MainActivity.PICKDB.execSQL(strsql);
} catch (SQLException e){
strmsg = e.getMessage();
} catch(Exception e){
strmsg = e.getMessage();
}
}
//トランザクションの発行
MainActivity.PICKDB.setTransactionSuccessful();
MainActivity.PICKDB.endTransaction();
MainActivity.PICKDB.close();
}
if (strmsg.equals("")){
if (mmode.equals("MAIN")){
Intent data = new Intent();
// インテントに値をセット data.putExtra(
data.putExtra("intent_sel", "yes");
data.putExtra("intent_id", strid);
data.putExtra("intent_pass", strpass1);
//呼び出し元に結果セット RESULT_OK
setResult(RESULT_OK, data);
finish();
}else {
finish();
}
}else{
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
// タイトルを設定
alertDialogBuilder.setTitle("ピッキングモバイル");
// メッセージを設定
alertDialogBuilder.setMessage(strmsg);
// アイコンを設定
alertDialogBuilder.setIcon( R.drawable.ic_launcher);
// Positiveボタンとリスナを設定
alertDialogBuilder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
// ダイアログを表示
alertDialogBuilder.create();
alertDialogBuilder.show();
}
//IF文の終わり
}
}
}
呼び出し側のセット MainActivity startActivityForResult
private static final int KANR_ACTIVITY = 12;
Intent intent = new Intent(MainActivity.this,kanrActivity.class);
// インテントに値をセット
intent.putExtra("intent_id", strid);
intent.putExtra("intent_pass", strpass);
intent.putExtra("intent_mode", "MAIN");
// サブ画面の呼び出し
startActivityForResult(intent, KANR_ACTIVITY);
呼び出し側への戻り MainActivity onActivityResult
/* ----------------------
* アクティビティの戻り
* ----------------------
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == KANR_ACTIVITY) {
if(resultCode == RESULT_OK) {
String intent_sel= data.getCharSequenceExtra("intent_sel").toString();
String intent_id = data.getCharSequenceExtra("intent_id").toString();
String intent_pass = data.getCharSequenceExtra("intent_pass").toString();
if (intent_sel.equals("no")) {
}else {
EditText edittextid = (EditText) findViewById(R.id.editmainid );
edittextid.setText( intent_id);
EditText edittextpass = (EditText) findViewById(R.id.editmainpwd );
edittextpass.setText(intent_pass);
}
}
}