0

私はアンドロイドが初めてで、インテントを使用して新しいアクティビティを開始し、それらに文字列を送信する方法を学ぼうとしています。誰かがこれがうまくいかない理由を教えてください:

package com.example.experimentingwithactivities;

import android.os.Bundle;
import android.content.Intent;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.EditText;

public class MainActivity extends Activity {

    TextView View;
    String String1;

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

    }

    public void onButton1Click (View v) {
        String morestuff  = "Something";

        Intent i = new Intent(this, other_activity.class);
        i.putExtra("stuff", morestuff);
        startActivity(i); 
    }

}

そしてこれが2つ目の活動です

package com.example.experimentingwithactivities;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class other_activity extends Activity{
    TextView something;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.seccond_activity);

        something = (TextView) findViewById (R.id.textView1);

        Intent intent = getIntent();
        String morestuff = intent.getStringExtra("stuff");

        something.setText(morestuff);
    }
}

これを実行すると、予期せず停止します。どんな援助でも大歓迎です。

4

1 に答える 1

0

最初にこのようにしてみてください:

    TextView something;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.seccond_activity);

        Intent intent = getIntent();
        String morestuff = intent.getStringExtra("stuff");

        //comment this out if it does not crash
        //something = (TextView) findViewById (R.id.textView1);
        //something.setText(morestuff);
}

クラッシュした場合は、名前を に変更するのにtextView1属していないことを意味します。seccond_activity.xmlsometing_textview1

于 2013-09-18T22:02:27.407 に答える