Java SecondActivity未接收到与意图相关的值
这是MainActivity.javaJava SecondActivity未接收到与意图相关的值,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,这是MainActivity.java import android.content.Intent; import android.content.SharedPreferences; import android.media.MediaPlayer; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v7.app.AppCompatActivity; imp
import android.content.Intent;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
TextView t1,t2;
Button generate1;
MediaPlayer pickupgold, pickupplatinum;
SharedPreferences mySharedPreferences;
private static Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
pickupgold = MediaPlayer.create(this, R.raw.pickup_gold);
pickupplatinum = MediaPlayer.create(this, R.raw.pickup_platinum);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
OnClickButtonListener();
final ImageView imageView = (ImageView) findViewById(R.id.imageView);
final ImageView imageView2 = (ImageView) findViewById(R.id.imageView2);
t1 = (TextView) findViewById(R.id.textView3);
t2 = (TextView) findViewById(R.id.textView8);
generate1 = (Button) findViewById(R.id.button);
generate1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView userTextEntry = (TextView) findViewById(R.id.textView3);
String userData = userTextEntry.getText().toString();
int num2 = mySharedPreferences.getInt("INT_KEY1", Integer.parseInt(userData));
int num3 = mySharedPreferences.getInt("INT_KEY2", -1);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("parameter1", num2);
Random rand = new Random();
int num1 = rand.nextInt(100);
if (num1 % 2 == 0) {
pickupgold.start();
num2 += 1;
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putInt("INT_KEY1", num2);
editor.apply();
t1.setText(String.format("%d", num2));
imageView.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, android.R.anim.slide_in_left));
Toast.makeText(getApplicationContext(), R.string.foundgold2, Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), R.string.notfoundgold, Toast.LENGTH_LONG).show();
} if (num1 == 1){
pickupplatinum.start();
num3 += 1;
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putInt("INT_KEY2", num3);
editor.apply();
t2.setText(String.format("%d", num3));
imageView2.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, android.R.anim.slide_in_left));
Toast.makeText(getApplicationContext(), R.string.foundplatinum1, Toast.LENGTH_LONG).show();
}
}
});
}
public void OnClickButtonListener() {
button2 = (Button)findViewById(R.id.button2);
button2.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.example.tans.goldminer1.SecondActivity");
startActivity(intent);
}
}
);
}
这是SecondActivity.java
import android.content.Intent;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
TextView t1,t2;
Button generate1;
MediaPlayer pickupgold, pickupplatinum;
SharedPreferences mySharedPreferences;
private static Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
pickupgold = MediaPlayer.create(this, R.raw.pickup_gold);
pickupplatinum = MediaPlayer.create(this, R.raw.pickup_platinum);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
OnClickButtonListener();
final ImageView imageView = (ImageView) findViewById(R.id.imageView);
final ImageView imageView2 = (ImageView) findViewById(R.id.imageView2);
t1 = (TextView) findViewById(R.id.textView3);
t2 = (TextView) findViewById(R.id.textView8);
generate1 = (Button) findViewById(R.id.button);
generate1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView userTextEntry = (TextView) findViewById(R.id.textView3);
String userData = userTextEntry.getText().toString();
int num2 = mySharedPreferences.getInt("INT_KEY1", Integer.parseInt(userData));
int num3 = mySharedPreferences.getInt("INT_KEY2", -1);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("parameter1", num2);
Random rand = new Random();
int num1 = rand.nextInt(100);
if (num1 % 2 == 0) {
pickupgold.start();
num2 += 1;
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putInt("INT_KEY1", num2);
editor.apply();
t1.setText(String.format("%d", num2));
imageView.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, android.R.anim.slide_in_left));
Toast.makeText(getApplicationContext(), R.string.foundgold2, Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), R.string.notfoundgold, Toast.LENGTH_LONG).show();
} if (num1 == 1){
pickupplatinum.start();
num3 += 1;
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putInt("INT_KEY2", num3);
editor.apply();
t2.setText(String.format("%d", num3));
imageView2.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, android.R.anim.slide_in_left));
Toast.makeText(getApplicationContext(), R.string.foundplatinum1, Toast.LENGTH_LONG).show();
}
}
});
}
public void OnClickButtonListener() {
button2 = (Button)findViewById(R.id.button2);
button2.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.example.tans.goldminer1.SecondActivity");
startActivity(intent);
}
}
);
}
我认为int值应该从MainActivity.java加载,但是
当我转到SecondActivity时,它似乎没有出现,只是显示0。
原因是什么?我该如何解决?很抱歉,我的代码可能看起来很混乱: 在SecondActivity上试试这个
您需要在前两行之后启动第二个活动:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("parameter1", num2);
startActivity(intent );
Intent Intent=newintentcontext,YourActivityClass.class intent.putExtraKEY 星状体 Seocnd活动- 意向=获取意向 如果为空!=意图{
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("parameter1", num2);
startActivity(intent);
}如果您在一个函数中调用activity,您设置了参数,但没有调用activity,而在第二个函数中直接调用了intent而没有参数?我发现了我的错误,谢谢!
String stringData= intent.getStringExtra(KEY);
int numberData = intent.getIntExtra(KEY, defaultValue);
boolean booleanData = intent.getBooleanExtra(KEY, defaultValue);
char charData = intent.getCharExtra(KEY, defaultValue);