我有列表项目EditText,我不知道会有多少项目.当我输入一些文本时EditText,我有一个问题,然后向下滚动RecyclerView,在我再次向上滚动后,我的第一个没有文字EditText.
我想知道什么,我应该在哪里编写代码,以便在用户输入或完成输入时(我想用a做TextWatcher)在EditText文本中保存到文件中(我将它保存在一个文件中).外部存储中的txt文件)
我应该onCreate在活动方法或适配器类或其他地方这样做吗?
这是一些代码
public class MainActivity extends Activity {
RecyclerView mRecyclerView;
MyAdapter mAdapter;
String[] mDataSet= new String[20];
@Override
protected void onCreate(Bundle savedInstanceState) {
// generating text for editText Views
for (int i = 0; i<=19; i++){
mDataSet[i]= "EditText n: "+i;
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mAdapter = new MyAdapter(mDataSet);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.setHasFixedSize(true);
}
Run Code Online (Sandbox Code Playgroud)
public class MyAdapter …Run Code Online (Sandbox Code Playgroud) 如何从MainActivity中的RecyclerView创建的所有EditTexts中检索值?
在我的RecyclerView适配器中,我正在扩展我的内部类:
public class MyPersonalAdapter extends RecyclerView.Adapter<MyPersonalAdapter.MyPersonalViewHolder>
Run Code Online (Sandbox Code Playgroud)
我在该内部类中获得了对EditText的引用:
class MyPersonalViewHolder extends RecyclerView.ViewHolder {
TextView numberTextView;
EditText nameEditText;
public MyPersonalViewHolder(View itemView) {
super(itemView);
numberTextView = (TextView) itemView.findViewById(R.id.tv_number);
nameEditText = (EditText) itemView.findViewById(R.id.et_name);
}
}
Run Code Online (Sandbox Code Playgroud)
在我想要使用的MainActivity中:
for (int i = 0; i < count; i++) {
String name = "Somehow get that name";
cv.put(MyContract.MyEntry.COLUMN_NAME, "name");
}
Run Code Online (Sandbox Code Playgroud)