在重新启动活动之前,TextView为空白

时间:2017-12-31 03:45:25

标签: java android android-activity

此代码应该在启动活动时更改textviews的值。但事实并非如此。我需要手动重启活动。请帮我。

package com.example.chinmay.departmentalapp;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.android.volley.Response;

import org.json.JSONArray;
import org.json.JSONObject;

public class StudentDetails extends AppCompatActivity {
TextView rollNo, name, contact1, contact2, avg;
Intent i;


protected void onCreate(Bundle savedInstanceState) {
    i = getIntent();
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_student_details);

    rollNo = (TextView)findViewById(R.id.rollNo);
    name = (TextView) findViewById(R.id.studName);
    contact1 = (TextView) findViewById(R.id.contact1);
    contact2 = (TextView) findViewById(R.id.contact2);
    avg = (TextView) findViewById(R.id.avgPresenty);

    rollNo.setText(i.getStringExtra("roll"));
    name.setText(i.getStringExtra("name"));
    contact1.setText(i.getStringExtra("contact"));
    contact2.setText(i.getStringExtra("con2"));
    avg.setText(i.getStringExtra("avgPres"));
}
}

StudentDetails.java看起来像这样。我试图解决它,但是evertything失败了。我不知道这段代码有什么问题。

2 个答案:

答案 0 :(得分:1)

在下面写下你的代码,这将很好,我希望如此

setContentView(R.layout.activity_student_details);

答案 1 :(得分:0)

尝试写

i.getIntent()

之后

super.oncreate()
setContentView()

因为此活动是在

之后创建的
super.oncreate()

被调用。对于获取意图时,不会创建第一个执行活动。问题是你正试图在尚未创建的活动中获得意图。 希望它有所帮助:)