如何在网格视图中获取适配器的EditText文本?

时间:2018-09-15 11:52:10

标签: android android-layout

我有一个使用GridView的活动,它下面是Button,并且有用户输入-该网格视图的行和列。然后,该gridView的适配器会放大包含“编辑”文本的布局。 我的问题是,当我在Activity中按下Button时,如何获取每个gridView的文本。请帮助我。

final int col = variable + 3;
        int row = constraint + 2;
        final int count = col * row;

        gridView = findViewById(R.id.table_calculate);
        gridView.setNumColumns(col);
        final GridTableAdapter adapter = new GridTableAdapter(this, count, condition, col, row);
        gridView.setAdapter(adapter);


        findViewById(R.id.simplex_btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EditText editText = (EditText) adapter.getItem(count);

//                ArrayList<String> arrayList = adapter.getAllData();
//                Intent intent = new Intent(calculatesimplex.this,SimplexResultActivity.class);

                Toast.makeText(calculatesimplex.this, "click lite p" + editText.getText().toString(), Toast.LENGTH_SHORT).show();

            }
        });

2 个答案:

答案 0 :(得分:1)

要循环gridview的项目,您可以这样:

for(int i=0; i<gridView.getChildCount(); i++) {
    EditText child = (EditText)gridView.getChildAt(i);
    // do something
}

答案 1 :(得分:0)

为此,您可以执行以下操作:只要用户在edittext中输入一些文本,就可以将该文本保存在sharedPreference中。

赞:

假设您有4个编辑文本。

现在,所有编辑文本都在id中具有positionGridView

将编辑文本另存为

键-R.id.edittext+positionedittext.getText().toString()

现在调用onClick()后,请获取所有值

sharedPref.get(R.id.edittext+position)

position can be 0,1,2,3.

希望你能随波逐流。