gpt4 book ai didi

android - 将值从 ListView 传递到另一个 Activity

转载 作者:行者123 更新时间:2023-11-29 19:19:31 26 4
gpt4 key购买 nike

我试图让数据从 ListView 传递到它打开的 Activity 。但是,当单击 listView 时,它会使我的应用程序崩溃。

我看不出我的代码有什么问题,而且在查看许多其他示例时我不确定哪里出了问题。在我开始尝试传递数据之前,listView 工作正常。

public class SuitableFarmerActivity extends AppCompatActivity {


private String[] farmerArray = {"John Smith, 28 days, £2800", "Ben Shaw, 31 days, £2400", "Tom Freer, 32 days, £3400", "Sam Jones, 24 days, £3600"};

private ListView farmerListView;
private ArrayAdapter arrayAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_suitable_farmer);

farmerListView = (ListView) findViewById(R.id.farmerList);

arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, farmerArray);
farmerListView.setAdapter(arrayAdapter);

farmerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {

Object obj = farmerListView.getAdapter().getItem(position);
String value= obj.toString();
Intent confirm = new Intent(SuitableFarmerActivity.this, ConfirmOrderActivity.class);
confirm.putExtra("value", value);

startActivity(confirm);

}
});
}

}

上面是我的 Activity 代码。

下面是我用来尝试在下一个 Activity 中检索数据的代码。

  Bundle recdData = getIntent().getExtras();
String myVal = recdData.getString("value");

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_confirm_order);

TextView textView = (TextView)findViewById(R.id.textView);

textView.setText(myVal);

非常感谢任何帮助。

最佳答案

我一发布问题就找到了答案。

对于遇到此问题的任何其他人,我通过将我在第二个 Activity 中检索数据的位置移动到 onCreate() 内部来修复它

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_confirm_order);
Bundle recdData = getIntent().getExtras();
String myVal = recdData.getString("value");

TextView textView = (TextView)findViewById(R.id.textView);

textView.setText(myVal); }

希望这对遇到此问题的任何人有所帮助。

关于android - 将值从 ListView 传递到另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42749581/

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