如果您想了解TStringList常用方法与属性&DelimitedText空格问题验证有效的相关知识,那么本文是一篇不可错过的文章,我们将对list进行全面详尽的解释,并且为您提供关于5.listv
如果您想了解TStringList 常用方法与属性 & DelimitedText空格问题 验证有效的相关知识,那么本文是一篇不可错过的文章,我们将对
- TStringList 常用方法与属性 & DelimitedText空格问题 验证有效(
list ) - 5.listview(QStringList QStringListModel)
- Android EditText AddTextChangeListener货币格式
- Android EditText和addTextChangedListener
- android – EditText TextChangeListener问题
TStringList 常用方法与属性 & DelimitedText空格问题 验证有效( list)
总结
以上是小编为你收集整理的TStringList 常用方法与属性 & DelimitedText空格问题 验证有效全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
5.listview(QStringList QStringListModel)
- UI
- mainwindow.h
1 #ifndef MAINWINDOW_H 2 #define MAINWINDOW_H 3 4 #include <QMainWindow> 5 #include <QStringListModel> 6 7 namespace Ui { 8 class MainWindow; 9 } 10 11 class MainWindow : public QMainWindow 12 { 13 Q_OBJECT 14 15 public: 16 explicit MainWindow(QWidget *parent = 0); 17 ~MainWindow(); 18 19 private slots: 20 //按下按钮 21 void on_pushButton_clicked(); 22 //combox改变 23 void on_comboBox_currentIndexChanged(int index); 24 25 private: 26 Ui::MainWindow *ui; 27 //设置列表 28 QStringList *sl; 29 //设置模式,显示列表 30 QStringListModel *slm; 31 }; 32 33 #endif // MAINWINDOW_H
- mainwindow.cpp
1 #include "mainwindow.h" 2 #include "ui_mainwindow.h" 3 #include <QStringListModel> 4 5 MainWindow::MainWindow(QWidget *parent) : 6 QMainWindow(parent), 7 ui(new Ui::MainWindow) 8 { 9 ui->setupUi(this); 10 sl = new QStringList(); 11 sl->append("hello1"); 12 sl->append("hello2"); 13 sl->append("hello3"); 14 sl->append("hello4"); 15 //创建字符串模式 16 slm = new QStringListModel(this); 17 slm->setStringList(*sl); 18 //显示 19 ui->listView->setModel(slm); 20 21 //设置combox选项 22 ui->comboBox->insertItem(0,"hello1","hello1"); 23 ui->comboBox->insertItem(1,"hello2","hello2"); 24 ui->comboBox->insertItem(2,"hello3","hello3"); 25 ui->comboBox->insertItem(3,"hello4","hello4"); 26 27 } 28 29 MainWindow::~MainWindow() 30 { 31 delete ui; 32 } 33 34 void MainWindow::on_pushButton_clicked() 35 { 36 37 38 QString qstr; 39 qstr = ui->lineEdit->text(); 40 sl->append(qstr); 41 //模式设置字符串 42 slm->setStringList(*sl); 43 //显示 44 ui->listView->setModel(slm); 45 } 46 47 void MainWindow::on_comboBox_currentIndexChanged(int index) 48 { 49 //获取当前数据 50 QString myqstr=ui->comboBox->currentText(); 51 ui->lineEdit->setText(myqstr); 52 }
- main.cpp
1 #include "mainwindow.h" 2 #include <QApplication> 3 4 int main(int argc, char *argv[]) 5 { 6 QApplication a(argc, argv); 7 MainWindow w; 8 w.show(); 9 10 return a.exec(); 11 }
Android EditText AddTextChangeListener货币格式
通过SO,我将以下EditText addTextChangedListener事件处理程序放到一起,除了我需要进行一些改进外,它可以正常工作.当我键入内容时,它会从右到左填充数字.我希望它从左到右填充.现在,如果我输入50,它的格式为$0.50,当我输入50时,我希望它的格式为$50.00
下面是xml声明和Java代码,请有人可以指出我需要进行更改以获得所需结果的地方.
XML声明
<EditText
android:id="@+id/valueEditText"
android:layout_row="1"
android:hint="@string/hint_value_to_add"
android:imeOptions="actionNext"
android:inputType="numberDecimal"/>
<requestFocus />
Java代码
inputValue = (EditText) findViewById(R.id.valueEditText);
inputValue.addTextChangedListener(new TextWatcher() {
private String current = "";
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// Todo Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if (!s.toString().equals(current)) {
inputValue.removeTextChangedListener(this);
String replaceable = String.format("[%s,.\\s]", NumberFormat.getCurrencyInstance().getCurrency().getSymbol());
String cleanString = s.toString().replaceAll(replaceable, "");
double parsed;
try {
parsed = Double.parseDouble(cleanString);
} catch (NumberFormatException e) {
parsed = 0.00;
}
String formatted = NumberFormat.getCurrencyInstance().format((parsed/100));
current = formatted;
inputValue.setText(formatted);
inputValue.setSelection(formatted.length());
inputValue.addTextChangedListener(this);
}
}
});
解决方法:
每一个这样的问题Format EditText to currency with whole numbers我像这样将setMaximumFractionDigits添加到0
@Override
public void afterTextChanged(Editable s) {
if (!s.toString().equals(current)) {
inputValue.removeTextChangedListener(this);
String replaceable = String.format("[%s,.\\s]", NumberFormat.getCurrencyInstance().getCurrency().getSymbol());
String cleanString = s.toString().replaceAll(replaceable, "");
double parsed;
try {
parsed = Double.parseDouble(cleanString);
} catch (NumberFormatException e) {
parsed = 0.00;
}
NumberFormat formatter = NumberFormat.getCurrencyInstance();
formatter.setMaximumFractionDigits(0);
String formatted = formatter.format((parsed));
current = formatted;
inputValue.setText(formatted);
inputValue.setSelection(formatted.length());
inputValue.addTextChangedListener(this);
}
Android EditText和addTextChangedListener
仅更新已修改的属性.我试图用addTextChangedListener来做这个,以便将修改后的entrys添加到List,但我的程序从不进入任何方法.
EditText Et = (EditText) Editors.get(Prop.Name); Et.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable s) { // Todo Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s,int start,int count,int after) { // Todo Auto-generated method stub } @Override public void onTextChanged(CharSequence s,int before,int count) { // Todo Auto-generated method stub if(Prop.GetType() == Property.PROPTYPE.num) { float f = Float.parseFloat(s.toString()); Prop.FromString(f); } else { Prop.FromString(s.toString()); } propertiesToUpdate.add(Prop); }); Et.setText(Prop.ToString());
解决方法
EditText Et = (EditText) findViewById(R.id.your_id);
我认为问题在于您持有对不属于您的Activity布局的EditText的引用,因此您将侦听器附加到错误的视图.
android – EditText TextChangeListener问题
我有一个用于搜索目的的编辑文本.我已经添加了
searchET.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// Todo Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// Todo Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// Todo Auto-generated method stub
//intent to another page where i show my search result
}
});
问题是:
当我为例如:“fort”提供搜索字符串时,我会在下一页中获得所需的结果.但是当我按下后退按钮时,它不会在第一次点击时移动到上一页.我将不得不按回按钮4次以转到上一页.这是因为我的搜索字符串长度为4,每次在edittext中输入值时,都会调用textchangelistener.我该如何解决这个问题?请回复.提前致谢.
解决方法:
根据您的需要,您可以根据某些条件转到下一页.例如,启动计时器,如果在计时器到期之前调用afterTextChanged,则重置计时器.或者,您可以使用“搜索”按钮,用户明确表示他已完成输入单词.
如果您可以共享所需的行为,则可以建议更好的替代方案.
关于TStringList 常用方法与属性 & DelimitedText空格问题 验证有效和
本文标签: