如何在android studio中将堆栈从一个活动传递到另一个活动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android studio中将堆栈从一个活动传递到另一个活动相关的知识,希望对你有一定的参考价值。
我试图在android studio中将堆栈从一个活动传递到另一个活动。
目前我有一个名为:Stack<Integer> teamAstack = new Stack<>();
的堆栈
我这样传递它:
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,GameReview.class);
intent.putExtra("stack1",teamAstack);
startActivity(intent);
}
从我在网上看到的传递对象,我需要这样做吗?
接收活动
getIntent().getSerializableExtra("stack1");
我最初尝试将它设置为我在新活动中创建的新堆栈,但它说类型不同,一个是堆栈而另一个是可序列化的。我不确定如何正确传递堆栈,以便我可以开始弹出并推动新活动,感谢您的帮助!在我的所有搜索中没有专门用于堆栈的原因,这就是我遇到此问题的原因。
新活动:
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.Stack;
public class GameReview extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_review);
Stack<Integer> stack11 = (Stack<Integer>)getIntent().getSerializableExtra("stack1");
Stack<Integer> stack22 = (Stack<Integer>)getIntent().getSerializableExtra("stack2");
}
}
当你调用getIntent().getSerializableExtra("stack1");
时你会得到一个类型为Serializable
的对象,因为你知道这个对象的类型是Stack<Integer>
你可以将它转换并存储在一个变量中
Stack<Integer> stack = (Stack<Integer>)getIntent().getSerializableExtra("stack1");
以上是关于如何在android studio中将堆栈从一个活动传递到另一个活动的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 中将文本设置为对应的图像
在实时布局检查器中手动选择活动(Android Studio 4.0)
如何在 Android Studio 中将一个 VideoView 放在另一个 VideoView 下方?