问题描述
我有一个应用程序(正在创建中),用户需要及时提交调查(称为MCI或每月签入)。如果签入的完成时间(TOC)在调查日期的AGrade日期之前,则用户会收到100%的信息,8天为85,依此类推(以下为标尺)。
我想显示主活动类中gradingActivity类的用户等级。我有一个Textview来显示名为myUserGrade的内容,其中我将评分设置为评分活动类中从getCompletionDate类收到的getIntExtra的评分。
当前结果/错误-现在,我只有在单击gradingActivity后才能看到用户的等级。当我单击此活动时,只有返回到主活动(或主菜单)后才能看到成绩。此外,我无法继续使用gradingActivity,因为它会立即使我回到主要活动。如果我不单击gradingActivity,则会得到默认值0,并且需要在主要活动中显示成绩。
有人知道为什么只在我单击gradingActivity时才显示成绩,而在我单击评分活动时立即返回主菜单吗?
在创建时在主活动中显示
Intent myIntent = getIntent();
MyGrade = myIntent.getIntExtra("finalMCIGrade1Value",0);
myUserGrade.setText("Your grade is: " + MyGrade);
评分等级-来自gradingActivity类
org.threeten.bp.LocalDate AGrade = MCIAvailable.plusDays(5);
org.threeten.bp.LocalDate BGrade = MCIAvailable.plusDays(8);
org.threeten.bp.LocalDate CGrade = MCIAvailable.plusDays(11);
org.threeten.bp.LocalDate DGrade = MCIAvailable.plusDays(15);
org.threeten.bp.LocalDate FGrade = MCIAvailable.plusDays(20);
来自gradingActivity类的getCompletionDate1-
public void getCompletionDate1() {
sessionManager = new SessionManager(this);
sessionManager.checkLogin();
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Loading...");
progressDialog.show();
StringRequest stringRequest = new StringRequest(Request.Method.POST,URL_ReadCompletionDate,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
Log.i(TAG,response.toString());
try {
JSONObject jsonObject = new JSONObject(response);
String success = jsonObject.getString("success");
JSONArray jsonArray = jsonObject.getJSONArray("read");
if (success.equals("1")) {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
int MCIGrade1Value;
String MCIdate = object.getString("start_date").trim();
org.threeten.bp.LocalDate MCIAvailable = org.threeten.bp.LocalDate.parse(MCIdate,dateFormatter);
org.threeten.bp.LocalDate AGrade = MCIAvailable.plusDays(5);
org.threeten.bp.LocalDate BGrade = MCIAvailable.plusDays(8);
org.threeten.bp.LocalDate CGrade = MCIAvailable.plusDays(11);
org.threeten.bp.LocalDate DGrade = MCIAvailable.plusDays(15);
final org.threeten.bp.LocalDate FGrade = MCIAvailable.plusDays(20);
final String DOC = object.getString("TimeofCompletion").trim();
if (object.isNull("TimeofCompletion") && today.isAfter(FGrade)){
MCIGrade1.setText("%0");
MCIGrade1Value = 0;
Intent myIntent = new Intent(MyCheckIns.this,MainActivity.class);
myIntent.putExtra("finalMCIGrade1Value",MCIGrade1Value);
startActivity(myIntent);
}
if (!object.isNull("TimeofCompletion")){
DOC1.setText("Completed on " + DOC);
org.threeten.bp.LocalDate TOC = org.threeten.bp.LocalDate.parse(DOC,dateFormatter);
if (TOC.isBefore(AGrade)){
MCIGrade1.setText("%100");
MCIGrade1Value = 100;
final int finalMCIGrade1Value = MCIGrade1Value;
Intent myIntent = new Intent(MyCheckIns.this,MainActivity.class);
myIntent.putExtra("finalMCIGrade1Value",finalMCIGrade1Value);
startActivity(myIntent);
} else if (TOC.isBefore(BGrade) && TOC.isAfter(AGrade)) {
MCIGrade1.setText("%85");
MCIGrade1Value = 85;
final int finalMCIGrade1Value = MCIGrade1Value;
Intent myIntent = new Intent(MyCheckIns.this,finalMCIGrade1Value);
startActivity(myIntent);
} else if (TOC.isBefore(CGrade) && TOC.isAfter(BGrade)) {
MCIGrade1.setText("%75");
MCIGrade1Value = 75;
final int finalMCIGrade1Value = MCIGrade1Value;
Intent myIntent = new Intent(MyCheckIns.this,finalMCIGrade1Value);
startActivity(myIntent);
} else if (TOC.isBefore(DGrade) && TOC.isAfter(CGrade)) {
MCIGrade1.setText("%65");
MCIGrade1Value = 65;
final int finalMCIGrade1Value = MCIGrade1Value;
Intent myIntent = new Intent(MyCheckIns.this,finalMCIGrade1Value);
startActivity(myIntent);
} else if (TOC.isAfter(DGrade)) {
MCIGrade1.setText("%55");
MCIGrade1Value = 55;
final int finalMCIGrade1Value = MCIGrade1Value;
Intent myIntent = new Intent(MyCheckIns.this,finalMCIGrade1Value);
startActivity(myIntent);
}else {
Drawable assignment;
assignment = getResources().getDrawable(R.drawable.ic_assignment_black_24dp);
warning1.setimageDrawable(assignment);
MCIGrade1.setText("Grade");
DOC1.setText("To be completed");
}
}
}
}
} catch (JSONException e) {
e.printstacktrace();
progressDialog.dismiss();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
}
}) {
@Override
protected Map<String,String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<>();
params.put("id",getId);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}```
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)