我一直在寻找使用单独的键来控制页面中的每个小部件。有人可以建议我这样做的最佳方法吗? 我尝试过像这样的表单
final formKey = GlobalKey<FormState>();
Form(
key: formKey,
),
但是在使用Container,Card和其他小部件时,我感到困惑。 有什么可以建议我应该遵循的内容以及在哪里?
答案 0 :(得分:0)
您不需要Container,Card或与。无关的任何其他小部件的formKey。
如果创建Form Widget,则需要给它一个TextFormField子级,该子级继承FormState。
问题就在这里,可能会有多个TextFormField小部件,因此,您无需为每个TextFormField逐一创建和处理它们,而是创建Form Widget来对TextFormFields进行分组,然后分配一次formKey并完全使用它
您的formKey与其他类型的小部件无关。
解释程序代码:
public void retrofitView() {
ProgressBar progressBar;
progressBar = findViewById(R.id.ProgressBar_MainActivity);
DoubleBounce doubleBounce = new DoubleBounce();
progressBar.setIndeterminateDrawable(doubleBounce);
progressBar.setVisibility(View.VISIBLE);
Call<List<Restaurants>> call = RetrofitClient.apiService.getRestaurants();
call.enqueue(new Callback<List<Restaurants>>() {
@Override
public void onResponse(Call<List<Restaurants>> call, Response<List<Restaurants>> response) {
progressBar.setVisibility(View.GONE); //This will make your progress bar visibility off after data load successfully
restaurantRecyclerInit(response.body());
}
@Override
public void onFailure(Call<List<Restaurants>> call, Throwable t) {
progressBar.setVisibility(View.GONE); // Same here also
Toast.makeText(MainActivity.this, "ddd", Toast.LENGTH_SHORT).show();
}
});
}