繁体   English   中英

EditText getText 在按钮单击中不起作用

[英]EditText getText not working in Button Click

我的活动中有两个 EditText。 这里我提供了 UI XML。

 <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <Button
                android:id="@+id/button_insta"
                android:layout_width="135dp"
                android:layout_height="0dp"
                android:layout_marginBottom="33dp"
                android:text="Download"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent" />

            <EditText
                android:id="@+id/editUrli"
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_marginTop="64dp"
                android:layout_marginBottom="18dp"
                android:ems="10"
                android:inputType="textPersonName"
                android:text=""
                android:textColor="#0C0C0C"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.0" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="177dp"
                android:layout_height="39dp"
                android:layout_marginEnd="81dp"
                android:layout_marginRight="81dp"
                android:text="Paste Instagram video link to download "
                android:textStyle="bold"
                app:layout_constraintBottom_toBottomOf="@+id/imageView3"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/imageView3"
                app:layout_constraintTop_toTopOf="@+id/imageView3" />

            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="78dp"
                android:layout_height="43dp"
                android:layout_marginStart="41dp"
                android:layout_marginLeft="41dp"
                android:layout_marginTop="16dp"
                android:layout_marginEnd="18dp"
                android:layout_marginRight="18dp"
                android:src="@drawable/insta"
                app:layout_constraintEnd_toStartOf="@+id/textView2"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

        </androidx.constraintlayout.widget.ConstraintLayout>
    </com.google.android.material.card.MaterialCardView>

    <com.google.android.material.card.MaterialCardView
        android:id="@+id/card"
        android:layout_width="0dp"
        android:layout_height="200dp"
        android:layout_margin="8dp"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="16dp"
        android:layout_marginRight="16dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="MissingConstraints">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <EditText
                android:id="@+id/editUrl"
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_marginTop="64dp"
                android:layout_marginBottom="18dp"
                android:ems="10"
                android:inputType="textPersonName"
                android:text=""
                android:textColor="#0C0C0C"
                app:layout_constraintBottom_toTopOf="@+id/button_download"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <Button
                android:id="@+id/button_download"
                android:layout_width="135dp"
                android:layout_height="0dp"
                android:layout_marginBottom="33dp"
                android:text="Download"
                android:onClick="onClick"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent" />

            <ImageView
                android:id="@+id/fblogo"
                android:layout_width="95dp"
                android:layout_height="39dp"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginTop="13dp"
                android:layout_marginEnd="18dp"
                android:layout_marginRight="18dp"
                android:layout_marginBottom="13dp"
                android:contentDescription="TODO"
                android:src="@drawable/fb"
                app:layout_constraintBottom_toTopOf="@+id/editUrl"
                app:layout_constraintEnd_toStartOf="@+id/textView"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.0" />

            <TextView
                android:id="@+id/textView"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_marginTop="16dp"
                android:layout_marginEnd="75dp"
                android:layout_marginRight="75dp"
                android:layout_marginBottom="84dp"
                android:text="Paste FB video link to download"
                android:textStyle="bold"
                app:layout_constraintBottom_toTopOf="@+id/button_download"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/fblogo"
                app:layout_constraintTop_toTopOf="parent" />

        </androidx.constraintlayout.widget.ConstraintLayout>
    </com.google.android.material.card.MaterialCardView>

在我的活动 java 代码中有这个按钮点击代码

protected void onCreate(@Nullable  Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_download);
        
        inputURl = findViewById(R.id.editUrl);
        editUrlinsta = findViewById(R.id.editUrli);

        BtnDownload = (Button) findViewById(R.id.button_download);
        downloadinsta = (Button) findViewById(R.id.button_insta);

        BtnDownload.setOnClickListener(this);
        downloadinsta.setOnClickListener(this);

    }
    @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.button_download:
                    try{
                       
                        final FacebookDownloader downloaders = new FacebookDownloader(Download.this,inputURl.getText().toString());
                        downloaders.DownloadVideo();
                        inputURl.getText().clear();
                    } catch(Exception e) {}
                    break;
                case R.id.button_insta:
                        final InstaDownloader downloaderInsta = new InstaDownloader(Download.this,editUrlinsta.getText().toString());
                        downloaderInsta.DownloadVideo();
                        editUrlinsta.getText().clear();
                    break;
                default:
                    break;
    
            }
        }

问题是我命名为button_download的第一个按钮按预期工作。 但是第二个按钮button_insta没有按预期工作。 我想要做的是当其中一个按钮单击时,从 EditText 获取数据。 button_download工作正常。 button_insta无法正常工作。 单击按钮时,我无法从editUrli获得价值。 但是相同的代码适用于button_downloadeditUrl

尝试将这些按钮单击 function 分开,如下所示:

BtnDownload.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try{
                    final FacebookDownloader downloaders = new FacebookDownloader(Download.this,inputURl.getText().toString());
                    downloaders.DownloadVideo();
                    inputURl.getText().clear();
                } catch(Exception e) {}
            }
        });

downloadinsta.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final InstaDownloader downloaderInsta = new InstaDownloader(Download.this,editUrlinsta.getText().toString());
                    downloaderInsta.DownloadVideo();
                    editUrlinsta.getText().clear();
            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM