有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用EditText在Android Studio中进行其他活动

在Android studio活动中,我想使用EditText输入转到第二个活动,我的代码可以工作,但我必须按两次才能工作,如何才能将其更正为只按一次

 editText.setInputType(InputType.TYPE_NULL);
 editText.setShowSoftInputOnFocus(false);

 public void addListenerOnButton() {
    editText.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            String text = editText.getText().toString();
            Intent myIntent = new Intent(view.getContext(),Calculated.class);
            myIntent.putExtra("mytext",text);
            startActivity(myIntent);

        }
    });
}

共 (3) 个答案

  1. # 1 楼答案

    使用EditText输入转到第二个活动是什么意思

    如果需要单击逻辑,请使用按钮

    如果要使用编辑文本的“完成”按钮:

    editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                if (i == EditorInfo.IME_ACTION_DONE) {
                    String text = editText.getText().toString();
                    Intent myIntent = new Intent(view.getContext(),Calculated.class);
                    myIntent.putExtra("mytext",text);
                    startActivity(myIntent);
                    return true;
                }
                return false;
            }
        });
    

    在你的布局上。xml,您需要在editText上添加:

        android:inputType="text"
        android:imeOptions="actionDone"
    
  2. # 2 楼答案

    为什么要将EditText的侦听器包装到另一个侦听器中
    更改为:

    editText.setInputType(InputType.TYPE_NULL);
    editText.setShowSoftInputOnFocus(false);
    
    editText.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            String text = editText.getText().toString();
            Intent myIntent = new Intent(view.getContext(),Calculated.class);
            myIntent.putExtra("mytext",text);
            startActivity(myIntent);
        }
    });
    

    这样,当您单击EditText时,您将启动其他活动

    {cd3}如果您想使用设置监听器,请单击以设置该活动

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            String text = editText.getText().toString();
            Intent myIntent = new Intent(view.getContext(),Calculated.class);
            myIntent.putExtra("mytext",text);
            startActivity(myIntent);
        }
    });
    
  3. # 3 楼答案

    我认为,你应该使用按钮,而不是编辑文本,但如果你愿意的话

    EditText edtClick;
    
    edtClick = (EditText) findViewById(R.id.edtClickActivity);
    
            edtClick.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                    startActivity(intent);
                }
            });
    

    这很有效