gpt4 book ai didi

java - 在类之间使用和保存变量

转载 作者:行者123 更新时间:2023-12-01 13:01:47 24 4
gpt4 key购买 nike

我正在尝试为 Android 创建一个简单的成绩跟踪器。我设置的方式是用户有一个其专业的类(class)列表。当他们单击类(class)标题时,就会启动一个新 Activity ,其中包含类(class)名称、目录描述、放置成绩的空间以及返回类(class)列表的按钮。

我想要做的是保存他们在第二页上输入的成绩编号,当按下按钮时,成绩将显示在第一页上的类(class)标题旁边。

我已编辑代码以反射(reflect)给出的评论。这是有效的代码!

核心类

TextView eng101, eng101scr;

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

eng101 = (TextView)findViewById(R.id.eng101);
eng101scr = (TextView)findViewById(R.id.eng101CoreScr);

eng101.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(ClassCore.this, Eng101.class);
i.putExtra("grades", "eng101" );
startActivityForResult(i, 1);
}
});

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(data.getExtras().containsKey("e101FinalScore")){
eng101scr.setText(data.getStringExtra("e101FinalScore"));

}

Eng101

public class Eng101 extends Activity {

Button btnSubmit;
EditText userGrade;
String strGrade;

OutsideVariables outside = new OutsideVariables();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.eng101);

btnSubmit = (Button)findViewById(R.id.btnE101);
userGrade = (EditText)findViewById(R.id.eng101Scr);

btnSubmit.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
strGrade = userGrade.getText().toString();
Intent i = getIntent();
String msg = i.getStringExtra("grades");
if(msg.contentEquals("eng101")){
i.putExtra("e101FinalScore", strGrade);
setResult(RESULT_OK, i);
finish();
}

}
});
}
}

最佳答案

您可以通过以下方式将值传递给上一个 Activity :

 Intent intent = new Intent(Eng101.this, ClassCore.class);
intent.putExtra("grade",grade);
startActivity(new Intent(Eng101.this, ClassCore.class));

在 ClassCore 中,您可以获得等级值,

Bundle extras = getIntent().getExtras();

// get data via the key
if(extras!=null){
int value1 = intent.getIntExtra("grade", 0);
if (value1 != null) {
eng101scr.setText(value1);
}
}

关于java - 在类之间使用和保存变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23465363/

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