그래서 기본적으로 로그인 양식을 사용하여 다음 활동에서 사용자 이름을 사용하여 사용자 정의 된 인사말을 말하려고합니다. 코드는 아무런 문제없이 컴파일되지만 로그인 버튼을 클릭하자마자 앱이 다운되고 로그인이 성공적으로 완료된 후 사용자 정의 된 안녕을 구현하기 전에 문제가 다음 코드의 어딘가에 있어야합니다. 내가 추가 데이터를 검색하고 설명 된대로 사용하려고 경우활동간에 데이터를 보내는데 크래시가 발생했습니다.
다음Intent k = new Intent(this, MainActivity.class);
//Sends login name to activity k
k.putExtra("loginName", login.getText().toString());
//login is the EditText variable name for the login text field
startActivity(k);
은 다음과 같습니다 :
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class ProfileActivity extends Activity {
TextView helloString;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
Bundle extras = getIntent().getExtras();
//Getting the hello text string
helloString = (TextView)findViewById(R.id.textHello);
String loginName = extras.getString("loginName");
helloString.setText("¡Hello, " + loginName + "!");
}
}
을 내가 넣어 경우 어떻게 든 충돌을 피할 여기
내가 활동을 부르는 곳이다 덧글에이 두 줄을 :
String loginName = extras.getString("loginName");
helloString.setText("¡Hello, " + loginName + "!");
여전히 문제가 있는지 없는지 나는 확신 할 수 없다. 그것은 두 번째에 검색되는 유형과 일치하지 않는 첫 번째 활동에서 보낸 데이터 유형과 관련이있을 수 있지만 그 주변의 물건을 시도한 후에는 단서가 없습니다.
미리 감사드립니다.
편집이: 나는 실제로 내가 텍스트가 profileActivity.class라는 활동에 표시되는 동안 나는 mainActivity.class에 전화하고 있다는 사실과 함께 할 수있는 뭔가가있을 수 있음을 발견
, 문제는, profileActivity는 mainActivity 내부에 탭으로 표시되므로 어떻게 접근해야하는지 잘 모르겠습니다.
편집 2 :
그래서 내가 관심있는 사람들을 위해, 마지막으로 자신을 그것을 해결 난 그냥 메인 액티비티 내부의 MainActivity.classIntent k = new Intent(this, MainActivity.class);
//Sends login name to activity k
k.putExtra("loginName", login.getText().toString());
startActivity(k);
로 데이터를 전송 그리고,에 ProfileActivity를 호출 할 때 탭으로 설정하십시오.
//Profile tab
intent = new Intent(this, ProfileActivity.class);
Bundle extras = getIntent().getExtras();
intent.putExtra("loginName", extras.getString("loginName"));
spec = mTabHost.newTabSpec("home")
.setIndicator("Home", res.getDrawable(R.drawable.profile_icon))
.setContent(intent);
mTabHost.addTab(spec);
문제가 해결되었으므로 모두에게 도움을 주셔서 감사합니다.
logcat을 확인하고 여기에 게시하면 충돌 원인이 표시됩니다. – Jems
MainActivity에 데이터를 보내지 만 ProfileActivity에서 의도 데이터를 읽는 중입니다.이 점에 대해 알고 계십니까? –
그래, 그냥 그 문제에 대한 의견을 편집, ProfileActivity 탭으로 MainActivity 안에 있기 때문에, 나는 지금 당장 그것에 접근하는 방법을 모르지만, 나는 그것을 게시하기 전에 볼 수 없었던 것을 인정한다. 그래서 우리는 지금 우리가 한걸음 앞으로 나아 갔다고 생각합니다. –