元のMainActivityでDialog(strInput)で入力された値を利用する方法がわかりません。
思いつく方法は手当たり次第に試したのですが、どうもうまくいきません。どなたかアドバイスをお願いします。
public class MainActivity extends Activity {
public static final int MENU_SAVE = 0;
public static final int MENU_LOAD = 1;
public static final int MENU_LIST =2;
public static final int MENU_OPTION = 3;
String fName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
menu.add(0, MENU_SAVE, 0, "SAVE").setIcon(android.R.drawable.ic_menu_save);
menu.add(0, MENU_LOAD, 0, "LOAD");
menu.add(0, MENU_OPTION, 0, "OPTION");
menu.add(0, MENU_LIST, 0, "LIST");
return true;
}
public void onReturnValue(String value) {
fName = value;
}
public String strInput(){
final EditText editView = new EditText(MainActivity.this);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("FILE NAME");
builder.setView(editView);
builder.setPositiveButton("SAVE", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int idx) {
String str = editView.getText().toString();//このstrを利用したい
}
});
builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
}
});
builder.show();
return null;
}
public boolean seve(String str){
strInput();
FileOutputStream fis = null;
BufferedWriter out = null;
EditText editText = (EditText)findViewById(R.id.editText1);
// ファイルへの書き込み
try {
fis = this.openFileOutput("test.txt", 0);
out = new BufferedWriter(new OutputStreamWriter(fis));
out.write(editText.getText().toString());
out.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return true;
}
boolean load(){
//略
return true;
}
boolean list(){
//略
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_SAVE:
seve("tes");
Log.d("Menu","Select SAVE");
return true;
case MENU_LOAD:
load();
Log.d("Menu","Select LOAD");
return true;
case MENU_LIST:
list();
Log.d("Menu","Select LIST");
return true;
case MENU_OPTION:
Log.d("Menu","Select OPTION");
return true;
}
return false;
}
}