www.91084.com

GVKun编程网logo

TStringList 常用方法与属性 & DelimitedText空格问题 验证有效( list

14

如果您想了解TStringList常用方法与属性&DelimitedText空格问题验证有效的相关知识,那么本文是一篇不可错过的文章,我们将对list进行全面详尽的解释,并且为您提供关于5.listv

如果您想了解TStringList 常用方法与属性 & DelimitedText空格问题 验证有效的相关知识,那么本文是一篇不可错过的文章,我们将对 list进行全面详尽的解释,并且为您提供关于5.listview(QStringList QStringListModel)、Android EditText AddTextChangeListener货币格式、Android EditText和addTextChangedListener、android – EditText TextChangeListener问题的有价值的信息。

本文目录一览:

TStringList 常用方法与属性 & DelimitedText空格问题 验证有效(<t> list<t>)

TStringList 常用方法与属性 & DelimitedText空格问题 验证有效( list

总结

以上是小编为你收集整理的TStringList 常用方法与属性 & DelimitedText空格问题 验证有效全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

5.listview(QStringList QStringListModel)

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货币格式

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

Android EditText和addTextChangedListener

我目前正在将数据库管理器移植到 android,并且由于我喜欢的性能原因
仅更新已修改的属性.我试图用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实例.这是你的活动布局的一部分,所以你应该得到这样的东西
EditText Et = (EditText) findViewById(R.id.your_id);

我认为问题在于您持有对不属于您的Activity布局的EditText的引用,因此您将侦听器附加到错误的视图.

android – EditText TextChangeListener问题

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空格问题 验证有效 list的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于5.listview(QStringList QStringListModel)、Android EditText AddTextChangeListener货币格式、Android EditText和addTextChangedListener、android – EditText TextChangeListener问题的相关信息,请在本站寻找。

本文标签: