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

public class MainActivity extends Activity {
    int count = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button abButton = (Button) findViewById(R.id.button1);
        final TextView changelingtext = (TextView) findViewById(R.id.changeling);
         abButton.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 Toast.makeText(getBaseContext(), "Buttons are working baby", Toast.LENGTH_LONG).show();
                 count++;
                String a = Integer.toString(count);
                 changelingtext.setText(a); 
                 gotonextpage(v);
             }
         });
    }
    public void gotonextpage(View view){
        Intent intent = new Intent(this, SecondpageActivity.class);
        startActivity(intent);
        intent.putExtra("count", count);
        //finish(); if you want to end this page

    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }


}

一等は上、二等は下

package com.example.collegematch;



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

public class SecondpageActivity extends Activity {
    int values;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.secondpage);
        Intent intent = getIntent();
        values = intent.getExtras().getInt("count");
        Button exitButton = (Button) findViewById(R.id.exit);
        Button textbutton = (Button) findViewById(R.id.coolbutton);
        TextView texty = (TextView) findViewById(R.id.cooltext);
        textbutton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Toast.makeText(getBaseContext(), Integer.toString(values), Toast.LENGTH_LONG).show();
                System.out.println(values);
            }
        });
        exitButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Toast.makeText(getBaseContext(), "Seeya", Toast.LENGTH_LONG).show();

                finish();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.secondpage, menu);
        return true;
    }

}

mainActivity では、ボタン abButton が押されるたびに、count 変数が 1 ずつ増加します。また、新しいインテントが作成され、extra を介してそのインテントに変数が送信されます。2 番目のアクティビティでは、インテントからデータを取得する "values" 変数がヌル ポインター例外を発生させています。なんで?

4

2 に答える 2

4
 Intent intent = new Intent(this, SecondpageActivity.class);
 startActivity(intent);
 intent.putExtra("count", count);

への変更

 Intent intent = new Intent(this, SecondpageActivity.class);
 intent.putExtra("count", count);
 startActivity(intent);

すでに 2 番目のアクティビティを開始した後で追加料金を設定しています

于 2013-01-28T18:33:15.123 に答える
2

この 2 つのコード行を変更するだけで、

Intent intent = new Intent(this, SecondpageActivity.class);
intent.putExtra("count", count);
startActivity(intent);

SecondActivityは、追加のカウントを設定する前 開始します。Intent

于 2013-01-28T18:33:35.840 に答える