gpt4 book ai didi

android - 如何获取打开的列表项并显示另一个 Activity

转载 作者:行者123 更新时间:2023-11-30 01:37:51 25 4
gpt4 key购买 nike

我在 Activity A 中有一个 ListView 。单击列表项后,它会打开另一个 Activity B。 Activity B 有一个按钮,当单击该按钮时,它会显示 Activity B 源自的列表项,当单击它时作为 toast 消息。有这个可能请帮助我

这是我在 Activity B 中尝试的代码

Button btn = (Button) findViewById(R.id.singleitemviewButton);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
List< MyList> mlist = null;

MyList codes = (MyList) getItem(position);
}

private Object getItem(int position)
{
return mlist.get(position);
}
});

我在位置上收到一个错误,说未知变量位置

点击监听器上的 Activity

@Override
public void onItemClick(AdapterView<?> p1, View view, int position, long p4)
{
Codelist codes = (CodeList) get(position);

Intent intent = new Intent(ActivityA.this, ActivityB.class);


intent.putExtra("selected item" , codes);
startActivity(intent);

}

新尝试的代码

Button favbtn = (Button) findViewById(R.id.singleitemviewButton);
favbtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
List <CodeList> codelist = null;
Bundle extras = getIntent().getExtras();

CodeList codes = extras.getParcelable("selected item");
if(checkArchivedItem(codes)){

archvPrefrnces.removeArchive(SingleItemView.this, codes);
}else{

archvPrefrnces.addArchive(SingleItemView.this, codes);


Toast.makeText(SingleItemView.this, getString(R.string.archive_added), Toast.LENGTH_SHORT).show();
}


}
private boolean checkArchivedItem(CodeList checkCodes) {
boolean check = false;
List<CodeList> archives = archvPrefrnces.getArchives(getApplicationContext());
if (archives != null) {
for (CodeList codes : archives) {
if (codes.equals(checkCodes)) {
check = true;
break;
}
}
}
return check;
}



});

最佳答案

将您的模型设为您要发送的 Parcelable。然后在您选择项目的 Activity A 中写入:

   Intent intent = new Intent(this, B.class);
intent.putExtra("SELECTED_ITEM", selectedItemObject);
startActivity(intent);

然后在您的 Activity B 中,按钮点击监听器的代码应如下所示:

Button btn = (Button) findViewById(R.id.singleitemviewButton);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
Bundle extras = getIntent().getExtras();
Item item extras.getParcelable("SELECTED_ITEM");
}
});

关于android - 如何获取打开的列表项并显示另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897595/

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