我有一个按钮并编辑文本。我想按下按钮的方式不同,具体取决于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);
}
如果条件正在运行,否则如果不工作应用程序在第二个条件下崩溃。
答案 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);
}