서브 액티비티에서 받아완 결과값  즉, 텍스트의 유무로

 

옵션메뉴 중 한 아이템의 활성/비활성화를 할려고합니다.

 

근데... 이리해도 저리해도 안되네요.ㅠㅠ

 

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

 

 

여길 어떻게 손봐야할지 모르겠씁니다.ㅠㅠ

 

도와주십시오. 형님들.