onFocusChanged
をオーバーライドして、フォーカスを失ったTextEditを特定します。重要なのは、このTextEditにテキストがない場合はこのTextEditを削除することです。問題はif((EditText...
が無効であることです。私はcannot resolve method 'getText()'
を得る。私はそれがEditTextビューであることを伝えるためにキャストしようとしました。動的に追加されたTextEditにテキストが含まれているかどうかを確認します。
listItemsView
はLinearLayoutのidであり、listItemsはEditTextのArrayListです。
@Override
public void onFocusChange(View view, boolean hasFocus) {
if (!hasFocus) {
int removeCurrent = listItems.indexOf(this)+1;
// code to execute when EditText loses focus
if((EditText)view.getText().equals("")) {
}
listItemsView.removeViewAt(removeCurrent);
listItems.remove(removeCurrent);
}
}
私も試してみた:
if((EditText)listItemsView.getChildAt(removeCurrent).getText().equals(""))
と同じ結果を得ました。
あなたは(のEditText)view.getText()から任意の値を取得しているのtoString()。? – Radhey
これは有効なメソッドではないため、コンパイルされません。 – Emsal
あなたはedittext.gettext()を意味します。tostring()は有効ではありません! 、それはあなたのビューでキャストの問題かもしれない、私たちはあなたのアダプタファイルの完全なソースを表示させてください。 – Radhey