获取EDITTEXT值 [英] Getting Edittext values

查看:80
本文介绍了获取EDITTEXT值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序两个编辑框在那里,点击相应的编辑框时,它会显示一个列表视图(这是另一个intent.From用户必须选择1输入,我分配这些价值的textbox.Myproblem是,当我设置值1编辑框,然后点击另一个文本框来获取值第一文本框的值是不存在的。

我的code是:

屏幕采用的EditText框:

 公共无效的onCreate(包savedInstanceState)
    {
        最后弦乐fromunit = getIntent()getStringExtra(Fromunit)。
        最后弦乐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);
        按钮B1 =(按钮)findViewById(R.id.button1);
        EditText上meditto =(EditText上)findViewById(R.id.editText3);
        meditfrom.setText(fromunit);
        meditto.setText(tounit);
        meditfrom.setOnTouchListener(新View.OnTouchListener(){

            @覆盖
            公共布尔onTouch(视图V,MotionEvent ARG1)
意图FromIntent =新的意图(v.getContext(),Fromlist.class);
                 startActivity(FromIntent);
                返回false;
            }
        });

  meditto.setOnTouchListener(新View.OnTouchListener(){

            @覆盖
            公共布尔onTouch(视图V,MotionEvent ARG1)
            {
                // TODO自动生成方法存根
                 意图ToIntent =新的意图(v.getContext(),Tolist.class);
                 startActivity(ToIntent);
                返回false;
            }
        });
 

ListView控件屏幕:

有关第一次编辑框:

 公共无效的onCreate(包savedInstanceState)
            {
                super.onCreate(savedInstanceState);
                setListAdapter(新ArrayAdapter<字符串>(这一点,R.layout.fromunit,FROMUNIT));
                ListView的LV = getListView();
                lv.setTextFilterEnabled(真正的);
                lv.setOnItemClickListener(新OnItemClickListener()
                {
                  公共无效onItemClick(适配器视图<>母公司视图中查看,
                      INT位置,长的id){
                    //单击时,显示出与TextView的文字敬酒
    // Toast.makeText(getApplicationContext(),((TextView的)视图).getText()
    // Toast.LENGTH_SHORT).show();
                      意图preV =新的意图(view.getContext(),ServiceExampleActivity.class);
                      prev.putExtra(Fromunit,((TextView的)视图).getText());
                      startActivity(preV);
                  }
                });
            }


对于第二edittextbox:



 公共无效的onCreate(包savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setListAdapter(新ArrayAdapter<字符串>(这一点,R.layout.fromunit,TOUNIT));
            ListView的LV = getListView();
            lv.setTextFilterEnabled(真正的);
            lv.setOnItemClickListener(新OnItemClickListener()
            {
              公共无效onItemClick(适配器视图<>母公司视图中查看,
                  INT位置,长的id){
                //单击时,显示出与TextView的文字敬酒
    // Toast.makeText(getApplicationContext(),((TextView的)视图).getText()
    // Toast.LENGTH_SHORT).show();
                  意图preV =新的意图(view.getContext(),ServiceExampleActivity.class);
                  prev.putExtra(Tounit,((TextView的)视图).getText());
                  startActivity(preV);
              }
            });
        }
 

解决方案

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

例如:在FirstActivity

  INT REQUEST_ code = 1;

 公共布尔onTouch(视图V,MotionEvent ARG1)
  意图FromIntent =新的意图(v.getContext(),Fromlist.class);
             startActivityForresult(FromIntent,REQUEST_ code);
            返回false;
        }
    });
 

在secondActivity如果要发回数据。

 意图returnIntent =新意图();
returnIntent.putExtra(结果,结果);
的setResult(RESULT_OK,returnIntent);
完();
 

如果你不想返回数据。

 意图returnIntent =新意图();
的setResult(RESULT_CANCELED,returnIntent);
完();
 

现在在你的FirstActivity类写入以下$ C $下 onActivityResult()方法

 保护无效onActivityResult(INT申请code,INT结果code,意图数据){

如果(要求code == REQUEST_ code){

 如果(结果code == RESULT_OK){

  字符串结果= data.getStringExtra(结果);

}

如果(结果code == RESULT_CANCELED){

 //写您的code在没有结果返回

}
} // onAcrivityResult
 

In my application Two edit boxes are there,when clicking appropriate Editbox it will show An listview(which is another intent.From that user have to select 1 input,i am assigning these value to the textbox.Myproblem is when i set value for 1 editbox and clicking another textbox to get values the 1st textbox value is not there.

My Code is:

Screen with edittext box:

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

The ListView Screen:

FOR 1st editbox:

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

解决方案

You should use startActivityForresult() method to start another Activity

eg: In 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;
        }
    });

In secondActivity if you want to send back data

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

if you don't want to return data

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

Now in your FirstActivity class write following code for onActivityResult() method

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

这篇关于获取EDITTEXT值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆