android - 当使用 getter 使用我的类时,它失去了它的价值,我不明白为什么
问题描述
我有一个问题,我的 getter 和 setter 返回一个空值。我已经在论坛上阅读过它,我发现人们说我已经实例化了我的类并重置了值,但我没有找到错误。添加新服务后,我的 getter 和 setter 失去了价值,我不明白为什么
我的课
public class ServicosS implements Serializable {
private String nome;
private String preco;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getPreco() {
return preco;
}
public void setPreco(String preco) {
this.preco = preco;
}
}
我的片段
public class ServicosFragment extends Fragment {
private FloatingActionButton fab;
private List<ServicosS> listaServicos;
private ServicosAdapter servicosAdapter;
private RecyclerView Rv_servicos;
final DatabaseReference database = FirebaseDatabase.getInstance().getReference();
public ServicosFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_servicos, container, false);
Rv_servicos = view.findViewById(R.id.rv_servicos);
listaServicos = new ArrayList<>();
carregarServicos();
fab = view.findViewById(R.id.fab_servicos);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(),AdcServicosActivity.class);
startActivity(intent);
}
});
return view;
}
public void carregarServicos(){
listaServicos.clear();
ClientesDAO clientesDAO = new ClientesDAO();
//Configura o adapter
servicosAdapter = new ServicosAdapter(listaServicos,getActivity());
//Configurar o RecyclerView
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
Rv_servicos.setLayoutManager(layoutManager);
Rv_servicos.setHasFixedSize(true);
Rv_servicos.addItemDecoration(new DividerItemDecoration(getParentFragment().getContext(), LinearLayout.VERTICAL));
Rv_servicos.setAdapter( servicosAdapter );
DatabaseReference servicosRef = database.child("Servicos");
servicosRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for(DataSnapshot ds : snapshot.getChildren()){
listaServicos.add(ds.getValue(ServicosS.class));
Log.i("INFO","PRODUTO: "+ds.getValue(Servicos.class).getNomeS());
}
servicosAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
我将数据添加到数据库的活动
public class AdcServicosActivity extends AppCompatActivity {
private TextInputEditText nome_servico,preco_servico;
private Button salvarServico;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_adc_servicos);
nome_servico = findViewById(R.id.txt_nome_servico);
preco_servico = findViewById(R.id.txt_preco_servico);
salvarServico = findViewById(R.id.btn_salvar_servico);
salvarServico.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String nomeServico = nome_servico.getText().toString();
String precoServico = preco_servico.getText().toString();
if (nomeServico != null && precoServico != null){
ServicosS servicosS = new ServicosS();
ServicosDAO servicosDAO = new ServicosDAO();
servicosS.setNome(nomeServico);
servicosS.setPreco(precoServico);
if(servicosDAO.salvar(servicosS)){
Toast.makeText(getApplicationContext(),
"Êxito ao salvar",
Toast.LENGTH_LONG).show();
finish();
}else{
Toast.makeText(getApplicationContext(),
"ERRO ao salvar",
Toast.LENGTH_LONG).show();
}
}else{
Toast.makeText(getApplicationContext(),
"Complete os campos",
Toast.LENGTH_LONG).show();
}
}
});
}
}
我的服务DAO
public class ServicosDAO implements iServicosDAO {
final DatabaseReference database = FirebaseDatabase.getInstance().getReference();
@Override
public boolean salvar(ServicosS servicosS) {
DatabaseReference servicoRef2 = database.child("Servicos");
DatabaseReference servicoRef3 = servicoRef2.child(servicosS.getNome());
servicoRef3.child("Nome").setValue(servicosS.getNome());
servicoRef3.child("Nome_pesquisa").setValue(servicosS.getNome().toUpperCase());
servicoRef3.child("Preco").setValue(servicosS.getPreco());
return true;
}
@Override
public boolean deletar(ServicosS servicosS) {
return false;
}
}
解决方案
推荐阅读
- lua - 如何使用 lua c api 用 C 语言制作结构
- reactjs - Redux normalizr - 我如何将所有标准化对象合并在一起
- go - 如何使用 ssh 私钥进行 RPC 身份验证?
- javascript - React Native - undefined 不是一个对象(评估'number.toFixed')
- r - 用空格替换字符并将字符串分成R中的两个单词
- r - 闪亮的 *for* 循环自动下载绘图
- javascript - 如何调用在firebase firestore中声明的变量
- javascript - 如何比较两个数组中的数据并在javascript中返回不匹配的数组?
- sql - SQL to_char 舍入 '9999.99'
- ios - SKStoreReviewController.requestReview() 本地化不起作用