2016-03-28 25 views
0

私はedittextでリストビューを持っています。 EditTextはエディタアクションリスナで設定されます。それは1日でうまくいく。しかし、キーボードのDoneキーを押してリストビューの前の行を編集したい場合、edittextは新しい値をとらない。 この問題を解決するにはどうすればよいですか? TKSみんな^^Android edittext onEditorActionListenerが正しく動作していませんか?

holder.zaiko_no.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
      @Override 
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
       String zk = holder.zaiko_no.getText().toString(); 
       holder.item.setZaikoNo(zk); 
       int zaiko_no_length = zk.length(); 
       int shelf_num_length = holder.shelf_num.getText().toString().length(); 
       if (position == n - 1) { 
        if (zaiko_no_length > 0 && shelf_num_length > 0) { 
         ShelfActivity.shelfItemList.add(new ShelfItem()); 
        } 
       } 
       if (zaiko_no_length > 0 && shelf_num_length > 0) { 
        holder.status.setText("-"); 
        holder.item.setStatus("-"); 
        if(position == ShelfActivity.shelfItemList.size()-2){ 
         sendBtn.setEnabled(true); 
        } 
       } else { 
        holder.status.setText(""); 
       } 
       notifyDataSetChanged(); 
       if(sendCheck()) sendBtn.setEnabled(true); 
       else sendBtn.setEnabled(false); 
       return true; 
      } 
     }); 

答えて

0

たびに等しい大きさの文字列[]配列を作成し、いくつかのarray.So内のデータを保持する必要がエディットテキストは、そのそのdata.Because失い作成されたビュー行の数。

データを保持するために文字列配列を初期化する - String [] zaiko_no = new String()[list.size()];

内側setOnEditorActionListener - zaiko_no [position] = holder.zaiko_no.getText()。toString();

リスナの外側 - zaiko_no.setText(zaiko_no [position]);

これが役に立ちます。

+0

Tks男。私はそれをしましたが、まだ動作しません。他のアイデア、plzz? –

+0

完全なアダプタクラスコードを投稿してください。 –

+0

tks guy。私は解決策を見つけました:D私はそれを編集できないようにtextView finalを作った:))))))))))^^ ^^ –

関連する問題