gpt4 book ai didi

java - Putextra 不断发送第一个输入的数据

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:51 26 4
gpt4 key购买 nike

这是用于将数据发送到主 Activity 的函数。

public void sendData(){
String name = Bookname.getText().toString();
String number = Integer.parseInt(Bookpage.getText().toString());
String description = Booknote.getText().toString();
Intent back = new Intent(getApplicationContext(),MainActivity.class);
back.putExtra("Bookname",name);
back.putExtra("Booknote",description);
back.putExtra("number",number);
setResult(RESULT_OK, back);
finish();
}

这是我使用该函数的地方。

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.Color_picker){
Toast.makeText(this, "ColoRS", Toast.LENGTH_SHORT).show();
}
if(item.getItemId() == R.id.Check_icon){
sendData();
}
return true;
}

}

这就是我在主要 Activity 中获取字符串的方式

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1 && resultCode == RESULT_OK) {
Ref c1 = new Ref(data.getStringExtra("Bookname"), data.getStringExtra("Booknote"),data.getIntExtra("number",0),data.getIntExtra("color", Color.RED));
adapter.add(c1);

}
}

我的问题是数据只写入一次,当函数应该发送不同的数据时,它会发送与第一次输入的数据相同的数据。

最佳答案

如果您发送 activityOnResult 时将 1 作为 REQUEST_CODE 就可以了

我猜您遇到的唯一问题(我没有更多信息)是因为我看到了适配器,我想您应该调用 adapter.notifyDataSetChanged() 来查看“列表”上的更改?

您还可以“清除”intent,以避免重复的内容,每次转到 onActivityResult() 时,您都可以执行 getIntent().removeExtra("key"); 以确保下次会出现不同的数据。

如果你这样做,你必须做好其他逻辑才能处理这个......

关于java - Putextra 不断发送第一个输入的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50137123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com