簡體   English   中英

如何從多行EditText中獲取字符串文本

[英]How to Get string text from multi line EditText

我正在使用edittext來獲取用戶的輸入。 輸入用戶后點擊選項菜單按鈕提交。 提交后,如果用戶輸入為空,它應顯示一個正常工作的警報對話框。 但即使用戶在文本字段中輸入了一些文本,它仍然顯示空輸入。

XML

 <EditText
                android:id="@+id/post_summary"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:gravity="top|left"
                android:hint="Share a photo, video or idea"
                android:inputType="textMultiLine"
                android:lines="10"
                android:maxLines="10"
                android:padding="10dp"
                android:minLines="2"
                android:background="#1AFFFFFF"
                android:textColor="@color/black"
                android:textSize="17sp"
                android:scrollbars="vertical"
                android:scrollbarStyle="outsideOverlay"
                android:textCursorDrawable="@color/black" />

Java的

     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_create_post);

        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle("New Post");
        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });


        data = findViewById(R.id.post_summary);
        st_text = data.getText().toString().trim();
}
@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        if (id == R.id.post) {
            if (TextUtils.isEmpty(st_text)){
                AlertDialog.Builder builder = new AlertDialog.Builder(CreatePostActivity.this,R.style.AlertDialog);
                String titleText = "Error \n  ";
                ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.colorPrimaryDark));
                SpannableStringBuilder ssBuilder = new SpannableStringBuilder(titleText);
                ssBuilder.setSpan(
                        foregroundColorSpan,
                        0,
                        titleText.length(),
                        Spanned.SPAN_INCLUSIVE_INCLUSIVE
                );
                builder.setTitle(ssBuilder);
                builder.setCancelable(false);
                builder.setPositiveButton("OK", null);
                AlertDialog dialog = builder.create();
                dialog.setMessage("You can't create empty post");
                dialog.show();
                return false;
            }else {
                AlertDialog.Builder builder = new AlertDialog.Builder(CreatePostActivity.this,R.style.AlertDialog);
                builder.setTitle("Success");
                builder.setMessage("Your post is successfully created.");
                builder.setPositiveButton("OK", null);
                AlertDialog dialog = builder.create();
                dialog.show();
                return true;
            }
        }
        return super.onOptionsItemSelected(item);
    }

你必須移動:st_text = data.getText()。toString()。trim(); after:int id = item.getItemId();

所以...你的代碼看起來像:

public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
st_text = data.getText().toString().trim();
        if (id == R.id.post) {
            if (TextUtils.isEmpty(st_text)){
                AlertDialog.Builder builder = new AlertDialog.Builder(CreatePostActivity.this,R.style.AlertDialog);
                String titleText = "Error \n  ";
                ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.colorPrimaryDark));
                SpannableStringBuilder ssBuilder = new SpannableStringBuilder(titleText);
                ssBuilder.setSpan(
                        foregroundColorSpan,
                        0,
                        titleText.length(),
                        Spanned.SPAN_INCLUSIVE_INCLUSIVE
                );
                builder.setTitle(ssBuilder);
                builder.setCancelable(false);
                builder.setPositiveButton("OK", null);
                AlertDialog dialog = builder.create();
                dialog.setMessage("You can't create empty post");
                dialog.show();
                return false;
            }else {
                AlertDialog.Builder builder = new AlertDialog.Builder(CreatePostActivity.this,R.style.AlertDialog);
                builder.setTitle("Success");
                builder.setMessage("Your post is successfully created.");
                builder.setPositiveButton("OK", null);
                AlertDialog dialog = builder.create();
                dialog.show();
                return true;
            }
        }
        return super.onOptionsItemSelected(item);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM