2016-07-12 6 views
1

私は、ユーザーが画像の下にテキストを追加するように働くAndroidアプリケーションに取り組んでいます。テキストはサーバーのデータベースに保存されます。ユーザーは、以下のスクリーンショットに示すようにテキストを追加できる必要があります。入力されたテキストが画面の下にも表示されることをユーザーが判断できることに注意してください。Android:テキストを追加して、上部に画像があるリストを作成します。

モック画像(私の恐ろしいGimpのスキルのために謝罪...:D)あなたが上に見ることができるよう

enter image description here

は今、表示が開始されると、ヘッダーイメージがあるでしょうと。その下で、私は追加のEditTextフィールドを理想的に配置したいと思っていますが、問題はユーザーがテキストの入力を続けることができ、EditTextフィールドが終了するということです。これが私が取り組んでいる最初の問題です。私が考えることができる唯一の方法は、ループ内またはスクロール後にコードを介してEditTextを追加することです。

2番目の問題は、サーバー上のすべてのテキスト情報を保存することですが、最初のユーザーが入力した情報を正しく整列して2番目のユーザーに表示する方法を教えてください。

第1の問題と第2の問題のためのより良い解決法があるかどうかを教えてください。ありがとうございました。

答えて

0

最初の問題については、これを行うことができます - ImageViewとその下にEditTextを追加します。 EditTextにTextWatcherを追加して、ユーザーの入力を待ち受けます。ユーザーが何らかのテキストを入力した場合、その下に別のEditTextを動的に追加します。ユーザーがテキストを消去した場合は、そのレイアウトからEditTextを削除します。 EditTextすべてに対して同じ操作を行います。

バックエンドにテキストを保存する場合、テキストフィールドを内部的に番号付けしてサーバーに保存することができます。このデータを取得すると、数字がテキストの順序を示します。

mEditText.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      if (s.length() > 0) { 
       // Add EditText to the list 
      } else { 
       // Remove the EditText from the list 
      } 
     } 
    }); 

このスニペットの周囲にさらに処理ロジックを置くことができます。たとえば、空で、フォーカスが失われたときにEditTextを削除します。

+0

テキストは保存時にどのように表示されますか?また、ユーザーが入力しているときに、何行か後にEditTextを追加するにはどうすればよいですか? –

+0

'ListView'や' RecyclerView'を使うと 'EditText'を簡単に追加したり削除したりすることができます。詳細については、 'TextWatcher'ドキュメントを参照してください。また、「保存されたテキストを表示する」とはどういう意味ですか? 2番目のユーザーがテキストをサーバーに保存されるとすぐに表示するようにすることを意味しますか? – Rohan

+0

ユーザーはいつでも後で見ることができます。しかし、これを行う全般的なポイントは、最初のユーザーが特定の方法で情報を入力し、同じ方法でそれを表示しようとしているユーザーに表示されることです。それで、表示するために、私は何をしますか? textFields、テキストのイメージなどを追加しますか? –

関連する問題