【问题标题】:TextEdit wrong contentTextEdit错误的内容
【发布时间】:2017-05-22 02:51:33
【问题描述】:

所以我有两个EditText 字段。一个用于类别,另一个用于在其中放置链接。如果您单击按钮“weiter”,则如果EditText 为空,则有一个控件。在下一步中,我想确保EditText 链接中的链接是真实链接,而不仅仅是例如只有一句话。所以我想检查它是否包含www.,现在的问题是,如果它不包含它,我该如何休息?

新的Intent 开始是因为我将它设置在下一个if-else 中,这一点很清楚。

那么我怎样才能让它变得更好呢?

这是我的代码,谢谢大家:

((Button) findViewById(R.id.weiter)).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent i = new Intent(MainActivity2.this, MainActivity8.class);

        EditText et1 = (EditText) findViewById(R.id.editText2);
        String Link1 = et1.getText().toString();

        EditText et = (EditText) findViewById(editText1);
        String Kategorie1 = et.getText().toString();

        if (Link1.contains("www.")) {

        } else {
            et1.setError("Link ist nicht gültig");
        }

        if (Link1.matches("") || Kategorie1.matches("")) {
            et.setHintTextColor(RED);
            et1.setHintTextColor(RED);
        } else {
            i.putExtra("ersteActivityKategorie", Kategorie1);
            i.putExtra("ersteActivityLink", Link1);
            startActivity(i);
        }
    }
});

【问题讨论】:

  • 我倾向于默认禁用该按钮,直到链接文本字段包含有效链接。每当更新链接文本字段时进行检查。

标签: java android


【解决方案1】:

当您在String 的开头没有找到www 时,只需return

if (Link1.contains("www.")) {
    // Do nothing
} else {
    et1.setError("Link ist nicht gültig");
    et1.setHintTextColor(RED);
    return;   // Return from here
}

if (Link1.matches("") || Kategorie1.matches("")) {
    et.setHintTextColor(RED);
    et1.setHintTextColor(RED);
} else {
    i.putExtra("ersteActivityKategorie", Kategorie1);
    i.putExtra("ersteActivityLink", Link1);
    startActivity(i);
}

【讨论】:

    【解决方案2】:
    public class Trackfolio extends Activity implements OnClickListener {
        /** Called when the activity is first created. */
        public EditText editText;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.main);
            editText = (EditText)findViewById(R.id.editText1);
    
            editText.setOnClickListener(this);
    
        }
    
        @Override
        public void onClick(View v) {
            editText.setText("");
        }
    }
    

    【讨论】:

    • 这应该如何回答这个问题?
    【解决方案3】:
    Intent i = new Intent(MainActivity2.this, MainActivity8.class);
    
            EditText et1 = (EditText) findViewById(R.id.editText2);
            String Link1 = et1.getText().toString();
    
            EditText et = (EditText) findViewById(editText1);
            String Kategorie1 = et.getText().toString();
    
            if (isValidUrl(Link1) == true) {
    
            } else {
                et1.setError("Link ist nicht gültig");
            }
    
            if ((Link1.equals("") && Kategorie1.equals("")) || (Link1.length() == 0 && Kategorie1.length() == 0) || (Link1.matches("") || Kategorie1.matches(""))) {
                et.setHintTextColor(RED);
                et1.setHintTextColor(RED);
            } else {
                i.putExtra("ersteActivityKategorie", Kategorie1);
                i.putExtra("ersteActivityLink", Link1);
                startActivity(i);
            }
    
            private boolean isValidUrl(String url) {
                Pattern p = Patterns.WEB_URL;
                Matcher m = p.matcher(url.toLowerCase());
                if(m.matches())
                    return true;
                else
                    return false;
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      • 2014-04-20
      • 2012-05-29
      相关资源
      最近更新 更多