gpt4 book ai didi

java - Android-从列表 Activity 返回数据

转载 作者:行者123 更新时间:2023-12-01 14:40:32 25 4
gpt4 key购买 nike

我的应用程序有一个主 Activity ,可以生成四个列表 Activity 之一,目标是让用户从列表中依次选择项目,并在从主 Activity 提交时推送这些选择到数据库。

问题:我不确定如何在主要 Activity 中返回和存储列表结果。

我没有对其他 Activity 使用 ListView ,因为它不允许在同一屏幕上显示“完成”按钮。

到目前为止,这就是我所拥有的

主要:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.listOneSub);
button2 = (Button) findViewById(R.id.listTwoSub);
button3 = (Button) findViewById(R.id.listThreeSub);
button4 = (Button) findViewById(R.id.listFourSub);

button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}


public void onClick(View v) {
if (v == button1) {
startActivity(new Intent("net.learn2develop.SecondActivity"));
} else if (v == button2) {
startActivity(new Intent("net.learn2develop.ThirdActivity"));
} else if (v == button3) {
startActivity(new Intent("net.learn2develop.FourthActivity"));
} else if (v == button4) {
startActivity(new Intent("net.learn2develop.FifthActivity"));
}
}

列出 Activity (所有四个 Activity 都很相似,只是有不同的项目):

String [] lstOne;

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.secondactivity);
ListView lstView = (ListView)findViewById(R.id.android_listOne);
lstView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
//lstView.setTextFilterEnabled(true);

lstOne = getResources().getStringArray(R.array.one);

lstView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, lstOne));

}




public void onClick(View view){
ListView lstView = (ListView)findViewById(R.id.android_listOne);

String itemsSelected = "Selected items: \n";
for(int i=0; i<lstView.getCount(); i++){
if(lstView.isItemChecked(i)){
itemsSelected += lstView.getItemAtPosition(i) + "\n";
}
}
Toast.makeText(this, itemsSelected, Toast.LENGTH_LONG).show();
finish();
}

列表是从strings.xml 文件生成的。我想更新按钮下的主视图,以显示提交前从每个列表中选择的内容。

Screen shot

最佳答案

使用 startActivityForResult 而不是 startActivity,并且 onActivityResult 将在您的 main 上调用。

我还建议将这 4 个类合并为 1 个类,并发送要显示的字符串数组的标识符。代码重复是非常糟糕的。

关于java - Android-从列表 Activity 返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16003718/

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