在EditText中每行插入一个总字符数

时间:2014-12-06 20:45:54

标签: android forms sqlite android-edittext maxlength

我的InvoiceForm中有一个EditText,我想在每行设置总共40个字符, 当用户提示这些总数时,我需要自动跳转到下一行,总共40个,依此类推,直到240个字符......或者不必跳转到下一行,但存储为另一行40总数中的字符

我需要将此文本保存在我的本地数据库中,因此我将表格添加到我的InvoiceForm表中:

String createInvoice = "CREATE TABLE " 
            + TB_INVOICE
            + "(ID_INVOICE INTEGER PRIMARY KEY AUTOINCREMENT, "
            + "COD_INVOICE TEXT PRIMARY KEY,"
            + "DES_CLIENT TEXT, "
            + "COD_CLIENT TEXT, "
            + "NUM_SERIE TEXT, "
            + "TXT_DESCRIPTION TEXT );";  <--

String createTextForm = "CREATE TABLE " 
            + TB_TEXTINVOICE
            + "(ID_TXT_INVOICE INTEGER PRIMARY KEY, " 
            + "COD_INVOICE TEXT PRIMARY KEY(SECONDARY KEY),"
            + " COD_LINE TEXT,"  <--
            + " LINE TEXT  );";  <--

所以,这是我的代码和我的用户界面,让我的描述更加清晰enter image description here

和我的代码:

    Button botao_salvar = (Button) findViewById(R.id.btn_salvar);
    botao_salvar.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            EditText Et_client = (EditText) findViewById(R.id.searchclient);
            EditText Et_nserie = (EditText) findViewById(R.id.ET_nserie);
            EditText Et_descrinota = (EditText) findViewById(R.id.ET_descrinota);

            if (Et_client.getText() == null || Et_nserie.getText() == null || Et_descrinota.getText() == null) {
                Toast.makeText(Formulario_Nota.this, "Voce não pode salvar um valor nulo, por favor insira dados nos campos", Toast.LENGTH_LONG).show();
                return;
            } else if (Et_client.getText().length() < 2 || Et_nserie.getText().length() < 2 || Et_descrinota.getText().length() < 2) {
                Toast.makeText(Formulario_Nota.this, "Por favor insira dados completos. Sempre maior que 2 caracteres.", Toast.LENGTH_LONG).show();
                return;
            } else {

                Nota notalist = nota_helper.pegaNotaDoFormulario();
                Stara_DB NotaDao = new Stara_DB(Formulario_Nota.this);

                notas = NotaDao.getListaNota();
                NotaDao.insereNota(notalist);

                Toast.makeText(Formulario_Nota.this, "Dados Salvos com sucesso", Toast.LENGTH_LONG).show();
                NotaDao.close();

                Intent continuar = new Intent(Formulario_Nota.this, Formulario_ItemNota.class);
                finish();
                startActivity(continuar);
                return;

            }
        }
    });
}

用户,不需要知道,我将在我的应用程序中处理这个实习生

我的问题是,我怎么能执行这个插入,比如我如何识别,我需要在我的数据库中存储哪一行,因为MyBackend在描述文本字段中每行只接受40个字符,

我所知道的是属性android:maxLength“40”;或类似的东西,但我怎么能在我的数据库中的每一行执行这个特定的插入案例,我已经有了contentValues和其他所有东西,我只想知道这样做的“逻辑”,或者例子......非常感谢< / p>

1 个答案:

答案 0 :(得分:2)

如果我正确理解了问题,我相信用户不需要知道每个字段限制就有40个字符。您只需为描述字段创建1个EditText,并将此单个EditText限制为总共240个字符。在用户单击提交按钮后从用户获取EditText值后,您可以通过将用户输入最多拆分为6个40字符串来编写逻辑,然后再将其插入数据库。