相关疑难解决方法(0)

在RecyclerView中保存EditText内容

我有列表项目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)

android android-edittext android-recyclerview

64
推荐指数
4
解决办法
5万
查看次数

Android - 如何从MainActivity中的RecyclerView检索EditText值

如何从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)

android android-edittext android-recyclerview

4
推荐指数
1
解决办法
1万
查看次数