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



我有一个使用 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();
}
});

要循环网格视图的项目,您可以这样做:

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

为此,您可以执行一些操作,例如每当用户在编辑文本中输入某些文本时,您都可以将该文本保存在共享首选项中。

喜欢这个:

假设您有 4 个编辑文本。

现在,如果所有编辑文本都在GridView中,则所有编辑文本都有一个id和一个position

将编辑文本另存为

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

现在调用onClick(),请通过以下方式获取所有值

sharedPref.get(R.id.edittext+position)
position can be 0,1,2,3.

希望你得到漂移。

最新更新