1

이 코드 여기충돌. getExtras()

와 변수를 검색하려 내는 MainActivity

public class MainActivity extends AppCompatActivity { 

    String Variable1 = null; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Bundle extras = getIntent().getExtras(); 
    if (extras != null) { 
     Variable1 = extras.getString("Variable1"); 
     EditText1_ET.setText(Variable1); 
    } 
    } 
} 

난에 Variable1을 만드는 오전 있어요 나는 OS (안드로이드 6.0.1)를 다시 시작하고 내 응용 프로그램을 시작할 때까지 큰 작업 다른 Activity

Intent i = new Intent(getApplicationContext(), MainActivity.class); 
i.putExtra("Variable1", textview.getText().toString()); 
startActivity(i); 

그것의, 나는 내 응용 프로그램 작동이 중지한다는 오류가 발생합니다.

Android 5.1에서 오류없이 정상적으로 작동 해 보았습니다.

아무도 도와 줄 수 있습니까?

답변

0

그럼 다음과 같은 변경하는 것이 좋습니다 :

SearchQueryTerm = extras.getString("Variable1"); 
EditText1_ET.setText(Variable1); 

에 :

Variable1 = extras.getString("Variable1"); 
if(EditText1_ET != null) {EditText1_ET.setText(Variable1);} 

코드에서 방금 지정 null 당신의 EditText 모든 시간.

0

이 작업을 수행하고, Null 허용 여부를 확인해야합니다

if (extras != null) { 
String variable1 = extras.getString("Variable1"); 
    if (variable1 != null) { 
    EditText EditText1_ET = (EditText) findViewById(R.id.xxxx); 
    if (EditText1_ET != null) 
     EditText1_ET.setText(variable1); 
    } 
} 

는 또한 텍스트를 설정하기 전에 EdiText 변수를 초기화하기!

+0

전체 답변 ;-) – HelloSadness

+0

그래,이 문제를 해결하는 것 같습니다. 정말 고마워! – JimmyR

+0

시원하고, 비슷한 문제에 직면 한 다른 사람들을 돕기 위해 정확한 답변을 표시하는 것을 고려하십시오! – HelloSadness

0

문제가 해결 된 것 같습니다. 그러나 나는 내 제안을 여기에 넣어야한다.

매개 변수 값을 전달하는 Activity2에서 TextView의 텍스트를 가져와야합니까? 이미 귀하의 TextView 어딘가에 String 값을 설정했기 때문입니다. 그 String 변수를 사용하여 값을 다른 Activity으로 전달하십시오.

Intent i = new Intent(getApplicationContext(), MainActivity.class); 
i.putExtra("Variable1", myString); 
startActivity(i); 

지금 MainActivity에서 Variable1null 인 경우 확인하고 EditText 첫째을 초기화합니다.

public class MainActivity extends AppCompatActivity { 

    String Variable1 = null; 
    private EditText EditText1_ET; // Declare an EditText first 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Initialize your EditText here 
    EditText1_ET = (EditText) findViewById(R.id.your_edit_text_id); 

    Bundle extras = getIntent().getExtras(); 
    if (extras != null) { 
     Variable1 = extras.getString("Variable1"); 

     // Here check if Variable1 is null 
     if(Variable1 != null) EditText1_ET.setText(Variable1); 
    } 
    } 
} 
-2

동일한 문제가 있었지만 null을 확인한 후에도 여전히 문제가 발생했습니다.

try-catch 블록을 사용하여 문제가 해결되었습니다.