1
editTextにテキストを入力できるリストを作成しています.となり、ユーザ入力はsetVisibility()
メソッドを使用して同じ場所でtextViewに変換されます。しかし、何が起こっているのかは、editTextとtextViewが切り替えているのですが、戻ってくる前のほんの1秒です。どのようにして永久に切り替えることができますか?setVisibility()メソッドを使用してEditTextが非表示にならない
私のカスタムアダプタークラス。 uはINVISIBLEので、同じ場所での使用に
choreTextEdit.setVisibility(View.GONE);
choreTextStatic.setVisibility(View.VISIBLE);
をsetvisibilityを使用したい場合にも
private LayoutInflater inflater = null ;
public CustomAdapter(Context context, ArrayList choreText) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
adapterContext = context ;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null) {
convertView = inflater.inflate(R.layout.custon_listview_row,parent, false);
//now use convertview
}
}
:
をあなたのコンストラクタで:私が見つけたあなたのコードの問題を確認した後
import android.content.Context;
import android.support.annotation.NonNull;
import android.text.InputType;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
class CustomAdapter extends ArrayAdapter{
public CustomAdapter(Context context, ArrayList choreText) {
super(context, R.layout.custon_listview_row, choreText);
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater myInflater = LayoutInflater.from(getContext());
View customView = myInflater.inflate(R.layout.custon_listview_row, parent, false);
String singleListItem = (String) getItem(position);
final TextView choreTextStatic = (TextView) customView.findViewById(R.id.textView_ID);
choreTextStatic.setVisibility(View.INVISIBLE);
final EditText choreTextEdit = (EditText) customView.findViewById(R.id.editText_ID);
//set user input in editText field
choreTextEdit.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_DONE) {
// TODO do something
if (v != null) {
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
choreTextEdit.setVisibility(View.INVISIBLE);
choreTextStatic.setVisibility(View.VISIBLE);
handled = true;
}
return handled;
}
});
ImageButton imageButton = (ImageButton) customView.findViewById(R.id.imageButton_ID);
choreTextEdit.setText(singleListItem, TextView.BufferType.EDITABLE);
imageButton.setImageResource(R.drawable.clock);
return customView;
}
}