2012-05-02 15 views
-1

私のアプリケーションでは2つの編集ボックスがあり、適切なEditboxをクリックするとリストビューが表示されます(もう1つのインテントです。ユーザーが1つの入力を選択する必要があります。私は1つのエディットボックスに値を設定し、値を取得するために別のテキストボックスをクリックしたときに第一テキストボックスの値が存在しないEdittextの値を取得する

私のコードは次のとおりです。

public void onCreate(Bundle savedInstanceState) 
    { 
     final String fromunit=getIntent().getStringExtra("Fromunit"); 
     final String tounit=getIntent().getStringExtra("Tounit"); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main);  
     EditText medit=(EditText)findViewById(R.id.editText1); 
     EditText meditfrom=(EditText)findViewById(R.id.editText2); 
     Button b1=(Button)findViewById(R.id.button1); 
     EditText meditto=(EditText)findViewById(R.id.editText3); 
     meditfrom.setText(fromunit); 
     meditto.setText(tounit); 
     meditfrom.setOnTouchListener(new View.OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent arg1) 
Intent FromIntent= new Intent(v.getContext(),Fromlist.class); 
       startActivity(FromIntent); 
       return false; 
      } 
     }); 

    meditto.setOnTouchListener(new View.OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent arg1) 
      { 
       // TODO Auto-generated method stub 
       Intent ToIntent= new Intent(v.getContext(),Tolist.class); 
       startActivity(ToIntent); 
       return false; 
      } 
     }); 

リストビュー画面:のEditTextボックスと

画面:

第一エディットボックスFOR

:secondActivityでFirstActivity

int REQUEST_CODE= 1; 

public boolean onTouch(View v, MotionEvent arg1) 
    Intent FromIntent= new Intent(v.getContext(),Fromlist.class); 
      startActivityForresult(FromIntent,REQUEST_CODE); 
      return false; 
     } 
    }); 

あなた場合:

public void onCreate(Bundle savedInstanceState) 
      { 
       super.onCreate(savedInstanceState); 
       setListAdapter(new ArrayAdapter<String>(this, R.layout.fromunit, FROMUNIT)); 
       ListView lv = getListView(); 
       lv.setTextFilterEnabled(true); 
       lv.setOnItemClickListener(new OnItemClickListener() 
       { 
        public void onItemClick(AdapterView<?> parent, View view, 
         int position, long id) { 
        // When clicked, show a toast with the TextView text 
    //    Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
    //     Toast.LENGTH_SHORT).show(); 
         Intent prev=new Intent(view.getContext(),ServiceExampleActivity.class); 
         prev.putExtra("Fromunit",((TextView) view).getText()); 
         startActivity(prev); 
        } 
       });   
      } 


For 2nd edittextbox: 



public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setListAdapter(new ArrayAdapter<String>(this, R.layout.fromunit, TOUNIT)); 
      ListView lv = getListView(); 
      lv.setTextFilterEnabled(true); 
      lv.setOnItemClickListener(new OnItemClickListener() 
      { 
       public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       // When clicked, show a toast with the TextView text 
    //   Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
    //    Toast.LENGTH_SHORT).show(); 
        Intent prev=new Intent(view.getContext(),ServiceExampleActivity.class); 
        prev.putExtra("Tounit",((TextView) view).getText()); 
        startActivity(prev); 
       } 
      });   
     } 
+0

、なぜドンのコード、次のあなたのFirstActivityクラスの書き込みに今すぐデータ

Intent returnIntent = new Intent(); setResult(RESULT_CANCELED, returnIntent); finish(); 

を返すようにしたくない場合はスピナーを使用していますか? – Barak

答えて

2

を試してみてください送信したいバックデータ

Intent returnIntent = new Intent(); 
returnIntent.putExtra("result",result); 
setResult(RESULT_OK,returnIntent);  
finish(); 

あなたはonActivityResult()方法むしろのEditText /リストビューより

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

if (requestCode == REQUEST_CODE) { 

if(resultCode == RESULT_OK){ 

    String result=data.getStringExtra("result"); 

} 

if (resultCode == RESULT_CANCELED) { 

//Write your code on no result return 

} 
}//onAcrivityResult 
0

はあなたが別の活動

などを開始するstartActivityForresult()メソッドを使用する必要があります

meditfrom.getText().toString(); 
+0

Maulik Jはすでに文字列になります。私の問題は、最初のedittextを選択すると、ユーザーが選択したものが表示され、2番目の編集テキストボックスを選択すると、2番目のedittextbox値のみが表示されます。 – subburaj

+0

SharedPreferencesのコンセプト – Aerrow

関連する問題