根据条件为按钮提供两种功能

时间:2017-07-26 06:37:12

标签: android android-button

我有一个按钮并编辑文本。我想按下按钮的方式不同,具体取决于edittext是否有文字的条件? 我尝试了下面给出的代码,但它没有用。

String baseurl = null;(global variable)

按钮的onclick侦听器下的代码

 baseurl = edittext.getText().toString();
    if(!baseurl.isEmpty()){
        body...
    }else if(baseurl.trim().length() == 0 || baseurl.isEmpty() || baseurl == null){
        Intent i = new Intent(URLFetcher.this, MainActivity.class);
        startActivity(i);
    }

如果条件正在运行,否则如果不工作应用程序在第二个条件下崩溃。

6 个答案:

答案 0 :(得分:2)

只需使用 TextUtil

即可
 String baseurl = edittext.getText().toString();
 if(TextUtils.isEmpty(baseurl) 
 {
     Intent i = new Intent(URLFetcher.this, MainActivity.class);
     startActivity(i);
 }
 else
 {
 // body
 }

答案 1 :(得分:0)

您无需使用

else if(baseurl.trim().length() == 0 || baseurl.isEmpty() || baseurl == 
null)

只需使用else

然后在else部分

中添加您的意图代码
else{

Intent i = new Intent(URLFetcher.this, MainActivity.class);

startActivity(i);

}

答案 2 :(得分:0)

检查一下:

 baseurl = edittext.getText().toString();
   if(baseurl == null || baseurl.isEmpty() ){
        Intent i = new Intent(URLFetcher.this, MainActivity.class);
        startActivity(i);
    }
else
{
 body...
}

答案 3 :(得分:0)

使用以下代码进行按钮单击侦听器

#ifndef DRAWWIDGET_H
#define DRAWWIDGET_H

#include <QWidget>
#include <QPainter>
#include <QtCore>
#include <vector>

class DrawWidget : public QWidget
{
    Q_OBJECT
public:
    explicit DrawWidget(QWidget *parent = nullptr);
    void updateEndpoints(QWidget* startIn, QWidget* endIn);
    virtual void paintEvent(QPaintEvent *);
signals:

private:
    struct ConnectedPair {
        const QWidget* from;
        const QWidget* to;
    };

    std::vector<ConnectedPair> items;
    bool drewSinceUpdate = true;
};

#endif // DRAWWIDGET_H

您无需再次检查else子句。如果baseurl = edittext.getText().toString(); if(!baseurl.isEmpty()){ //Code for edittext has a url }else{ // Code for edittext has nothing Intent i = new Intent(URLFetcher.this, MainActivity.class); startActivity(i); } 为false,则表示!baseurl.isEmpty()的长度为0。 <{1}}根据您的代码永远不会是baseurl

答案 4 :(得分:0)

使用equalsIgnoreCase()字符串方法:

baseurl = edittext.getText().toString();
    if(!baseurl.equalsIgnoreCase("")){
        body...
    }else if(baseurl.trim().length() == 0 || baseurl.isEmpty() || baseurl == null){
        Intent i = new Intent(URLFetcher.this, MainActivity.class);
        startActivity(i);
    }

答案 5 :(得分:0)

将baseUrl初始化为空字符串而不是null

String baseurl = ""; (global variable) 

然后检查条件

if(!baseurl.isEmpty()){
        body...
  }else if(baseurl.trim().length() == 0 || baseurl.isEmpty() || baseurl == null){
        Intent i = new Intent(URLFetcher.this, MainActivity.class);
        startActivity(i);
    }