java - 如何在第二次活动中打印吐司?
问题描述
我正在尝试在吐司中打印行数。但它只是让我一次又一次地参加第一项活动。
idk 我在这里做错了什么。
代码应该是这样的:->在文本框中输入数字,它将打印否。按下按钮时,在第二个活动的吐司中的行数。
代码是这样的:
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
private Button obbtSend;
private EditText obetMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
obbtSend = (Button)findViewById(R.id.btSend);
obetMessage = (EditText)findViewById(R.id.etMessage);
obbtSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openMainActivity();
}
});
}
public void openMainActivity(){
String str = obetMessage.getText().toString();
Intent obintent = new Intent(this, MainActivity.class);
obintent.putExtra("var", str);
this.startActivity(obintent);
}
}
在第二个文件:
package com.example.toastexample;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import org.w3c.dom.Text;
public class MainActivity2 extends AppCompatActivity {
private TextView obtvMsg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent ob = getIntent();
String msg = "";
String s = ob.getStringExtra("var").toString();
int t = Integer.parseInt(s.toString());
for(int i=1;i<=t;i++)
msg=msg + "Hello World! \n";
Toast.makeText(this,msg,Toast.LENGTH_LONG).show();
obtvMsg = (TextView)findViewById(R.id.tvMsg);
obtvMsg.setText(ob.getStringExtra("var").toString());
}
}
解决方案
您没有启动 MainActivity2,而是在 openMainActivity() 中再次启动 MainActivity,
使用下面的代码启动 MainActivity2。
public void openMainActivity(){
String str = obetMessage.getText().toString();
Intent obintent = new Intent(this, MainActivity2.class);
obintent.putExtra("var", str);
this.startActivity(obintent);
}
推荐阅读
- c# - 我正在尝试在 c# 中编写一个控制台应用程序,该应用程序使用在 tomcat 上运行的 Web 服务,以使用 xml 文件执行“PUT”方法
- cookies - 如何使用 Do-Not-Track-Me cookie 禁用跟踪
- kubernetes - 集群自动扩缩器未缩减
- optimization - 冲击波跳跃条件
- c# - 从类型访问 JsonObject Title
- ios - 修改订阅时无法连接到 iTunes 商店错误
- architecture - 可以将 UML 组件图用于 3 层架构吗?
- javascript - css3 新闻标题自动向上滚动
- java - Jenkins 忽略了用于日志记录的 java 命令行选项。如何解决?
- python-3.x - 使用 CV2 或 PIL 将 Numpy 数组转换为图像