gpt4 book ai didi

android - 使用 ListView 从一个 Activity 向另一个 Activity 发送和检索数据

转载 作者:行者123 更新时间:2023-11-29 15:49:45 25 4
gpt4 key购买 nike

我正在制作一个测验程序来练习 ListView 的工作原理。

然后我声明字符串。

    final String[] topics= {"History" , "Arts","Civics","Transport","Technology","Science", "Social",
"Architecture", enter code here"Health","Geography","Computers","Business","Celebrities","Sports","Literature", "Music", };

now i use listview to see the list of items i have declared

Lst.setOnItemClickListener(new OnItemClickListener()
{

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub

Bundle bundle = new Bundle();
bundle.putStringArray("Bundlekey", topics);



String Topicname = topics[position];

Intent intent = new Intent(QwizActivity.this,secondActivity.class);
intent.putExtras(bundle);

startActivity(intent);


}

xml中listview的声明`

<ListView
android:id="@+id/ListVwe"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#388E3C"
android:elevation="2dp"
android:textColor="#FFFFFF" >
</ListView>`

我进行了第二个 Activity ,我在其中调用第一个 Activity 的输入并操作从 bundle 获得的输入,但我没有获得任何 bundle 值。它是空的,我想比较每个项目,例如我选择历史我想对历史有一个不同的问题,如果我选择艺术我想有艺术问题。但我无法从第一个 Activity 中检索到任何值,我做了一个 toast , toast 是空的。我是我使用的方法不正确。我正在寻求一些指导,请帮助

我声明第二个 Activity 的代码。

TextView Qsn ;
TextView TopicTitle ;
Button Ybtn ;
Button Nbtn ;



@Override protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.history);

Qsn = (TextView) findViewById(R.id.Question);
TopicTitle = (TextView)findViewById(R.id.Topictxt);
Ybtn=(Button)findViewById(R.id.Yesbtn);
Nbtn=(Button)findViewById(R.id.Nobtn);


Intent intent = getIntent();

Bundle bundle =intent.getExtras();
String check=bundle.getString("Bundlekey") ;
TopicTitle.setText(check);
Toast.makeText(getApplicationContext(), check, Toast.LENGTH_SHORT) .show();
}

第二个 Activity 的xml

android:id="@+id/Question"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Question"

android:id="@+id/Topictxt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="History"

我的问题是为什么“check”是空的,我如何比较“check”与“history”之类的值"sting "arts"sting 等。这是我的第一个问题,所以如果我没有以正确的格式提问,请告诉我。谢谢。

最佳答案

您正在从 OnItemClickListener 中使用 putStringArray 发送一个数组,并在下一个 Activity 中将其作为字符串获取。改为发送主题名称。

String Topicname = topics[position];
bundle.putString("Bundlekey", Topicname);

你也可以让“Bundlekey”成为一个公共(public)静态变量来访问

关于android - 使用 ListView 从一个 Activity 向另一个 Activity 发送和检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30885343/

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