2012-05-02 235 views
-1

在我的应用程序中有两个编辑框在那里,当点击适当的编辑框时,它将显示一个列表视图(这是另一个intent.From用户必须选择1输入,我将这些值分配给textbox.Myproblem是当我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; 
      } 
     }); 

ListView控件屏幕:

FOR 1日编辑框:

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

不是的EditText /列表视图,何不你使用微调吗? – Barak

回答

2

您应该使用startActivityForresult()方法来启动另一个活动

例如:在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; 
     } 
    }); 

在secondActivity如果想要发送回的数据

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

,如果你不希望下面的代码返回数据

Intent returnIntent = new Intent(); 
setResult(RESULT_CANCELED, returnIntent);   
finish(); 
在FirstActivity类写

现在对于onActivityResult()方法

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

尝试

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

Maulik J它已经是一个字符串了。我的问题是,当我选择第一个edittext时,它将显示用户选择的内容,当我选择第二个编辑文本框时,它将只显示第二个edittextbox值第一个文本框值为空。 – subburaj

+0

与SharedPreferences概念 – Aerrow