【发布时间】:2019-06-23 00:01:55
【问题描述】:
我试图让用户在 StartScreen Activity 的 textEdits 中键入的内容显示在我的 MainActivity 中。
首先,我为 2 个用户创建了 2 个意图。
String playerOneContent = playerOneEditText.getText().toString();
String playerTwoContent = playerTwoEditText.getText().toString();
Intent intent = new Intent(StartScreen.this, GameView.class);
intent.putExtra("NAME", playerOneContent);
intent.putExtra("NAME2", playerTwoContent);
startActivity(intent);
然后在我的GameView 我有以下代码:
public class GameView extends View {
Paint paint = new Paint();
Context context;
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
paint.setColor(Color.YELLOW);
canvas.drawPaint(paint);
paint.setColor(Color.RED);
paint.setTextSize(20);
canvas.drawText("NAME",50, 50, paint);
}
}
如何从StartScreen 获取意图并在GameView 中使用它?
这是我最初在Main Activity 中的代码:
TextView playerOneTextView = (TextView)findViewById(R.id.playerOneTextView);
TextView playerTwoTextView = (TextView)
findViewById(R.id.playerTwoTextView);
playerOneTextView.setText(getIntent().getStringExtra("NAME"));
playerTwoTextView.setText(getIntent().getStringExtra("NAME2"));
【问题讨论】:
-
您好 user11686570,欢迎来到 StackOverflow。请问,你的问题到底是什么?看起来您已经从
StartScreen到getIntent()获得了意图,那么您是否遇到了某些问题或一些意外行为?如果是这样,您能否发布错误或预期行为和结果行为的图像或日志? -
是的,如果我使用 GameView,我认为 MainActivity 中的任何内容都不会出现错误。所以我尝试在 GameView 中使用 getIntent,但它不允许我这样做,因为 GameView 不是一个活动,只是一个延伸到 MainActivity 的类。另外,在我有setText的MainActivity中,你不能对GameView这样做,这就是我使用canvas的原因。
-
我认为您可能需要做的是为
GameView创建一个构造函数,然后传入context。
标签: java android android-fragments android-intent