私は基本的に何らかのログインフォームを騙して、来るべきアクティビティでユーザー名を使ってカスタマイズされたhelloを言うことを試みています。コードは問題なくコンパイルされますが、ログインボタンをクリックするとアプリケーションがクラッシュし、ログインが正常に動作してからカスタマイズされたhelloを実装しようとしました。問題は次のコードのどこかにあるはずです。私は活動を呼ぶのはここアクティビティ間でデータを送信中にクラッシュします
は次のとおりです。私は、余分なデータを取得し、説明するように、それを使用しようとするのはここ
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 + "!");
}
}
私は置けばそれは何とかクラッシュを回避しますコメントでは、これらの2つの行:
String loginName = extras.getString("loginName");
helloString.setText("¡Hello, " + loginName + "!");
まだ、私は問題が本当にあるかどうかは確かではありません、私はthoug最初のアクティビティから送信されたデータのタイプと、2番目のタイプで検索されているタイプに一致しないデータとの関係があるかもしれませんが、それを回避しようとするとヒントは得られません。
ありがとうございます。
編集:
私は実際に、私は、テキストは問題があり、profileActivity.classと呼ばれる活動に示されている間、私はmainActivity.classに呼び出していたという事実とは何かを持っていることが分かりましたprofileActivityはmainActivityの中にタブとして表示されているので、私はそれにどのようにアプローチすべきか分かりません。
編集2:
だから私はにProfileActivityを呼び出すときに、私はちょうど、MainActivity.class
Intent k = new Intent(this, MainActivity.class);
//Sends login name to activity k
k.putExtra("loginName", login.getText().toString());
startActivity(k);
そして、メインのアクティビティ内部にデータを送っ興味がある人のために、最終的には自分自身をそれを解決タブとして設定してください:
//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のタブの中にあるので、私は実際にそれに近づく方法を本当に知らない、私は投稿前にそれを見なかったことは認めている私たちは今一歩前進したと思います。 –