서브 액티비티에서 받아완 결과값 즉, 텍스트의 유무로
옵션메뉴 중 한 아이템의 활성/비활성화를 할려고합니다.
근데... 이리해도 저리해도 안되네요.ㅠㅠ
package exam.jenForm;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
public class JenFormActivity extends Activity {
TextView mText;
final static int ACT_EDIT = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mText = (TextView)findViewById(R.id.text);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()) {
case R.id.Input:
Intent intent = new Intent(this, Subact.class);
intent.putExtra("TextIn", mText.getText().toString());
startActivityForResult(intent,ACT_EDIT);
return true;
case R.id.Bold:
mText.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD));
return true;
case R.id.Italic:
mText.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC));
return true;
case R.id.Normal:
mText.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.NORMAL));
return true;
}
return false;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onPrepareOptionsMenu(menu);
// Intent intent = getIntent();
// String text = intent.getStringExtra("TextIn");
if("TextIn" !=null){
menu.findItem(R.id.Style).setEnabled(true);
}
return true;
}
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
// TODO Auto-generated method stub
switch(requestCode){
case ACT_EDIT:
if(resultCode ==RESULT_OK){
mText.setText(data.getStringExtra("TextOut"));
}
break;
}
}
}
package exam.jenForm;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Subact extends Activity{
EditText mEdit;
Button okbtn, cancelbtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.subact);
mEdit = (EditText)findViewById(R.id.Edit);
Intent intent = getIntent();
String text = intent.getStringExtra("TextIn");
if(text !=null){
mEdit.setText(text);
}
okbtn = (Button)findViewById(R.id.btn_ok) ;
cancelbtn= (Button)findViewById(R.id.btn_cancel) ;
findViewById(R.id.btn_ok).setOnClickListener(
mClickListener);
findViewById(R.id.btn_cancel).setOnClickListener(
mClickListener);
}
Button.OnClickListener mClickListener =
new Button.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_ok:
Intent intent = new Intent();
intent.putExtra("TextOut", mEdit.getText().toString());
setResult(RESULT_OK, intent);
finish();
break;
case R.id.btn_cancel:
setResult(RESULT_CANCELED);
finish();
break;
}
}
};
}
=========문제되는 소스===============
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onPrepareOptionsMenu(menu);
// Intent intent = getIntent();
// String text = intent.getStringExtra("TextIn");
if("TextIn" !=null){
menu.findItem(R.id.Style).setEnabled(true);
}
return true;
}
여길 어떻게 손봐야할지 모르겠씁니다.ㅠㅠ
도와주십시오. 형님들.