2016-03-28 86 views
0

我有一个listview edittext。 EditText在编辑器动作侦听器上设置。它在1日正常工作。但是当我按下键盘上的完成键并且我想要编辑列表视图的前一行时,edittext不会采用新值。 我该如何解决这个问题? 韩国社交协会家伙^^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

每次视图中创建编辑文本失去了的那data.Because你必须持有一些array.So数据创建大小等于一个String []数组行数。

初始化用于保存数据的字符串数组 - String [] zaiko_no = new String()[list.size()];

里面setOnEditorActionListener - zaiko_no [position] = holder.zaiko_no.getText()。toString();

听众之外 - zaiko_no.setText(zaiko_no [position]);

希望这会有所帮助。

+0

Tks guy.I做到了,但仍然无法工作。任何其他的想法,plzz? –

+0

请发布完整的适配器类代码。 –

+0

tks的家伙。我找到了解决方案:D我做了textView final,以便它不能被编辑:))))))tks ^^ –