【发布时间】:2017-05-01 00:13:26
【问题描述】:
我刚开始学习 android studio 。当用户可以输入地点的名称以及他想在哪一天访问该地点时,我想制作一个简单的应用程序。
我想使用意图 putExtra 将地名和日期发送到 secondActivity(PLAN)。 之后在 secondActvity(PLAN) 中我想使用 SharedPreferences 以便保存地名和日期。如果用户选择其他地点和日期,可以将其添加到保存的数据中。
这是我的代码: DAANAMALL(FirstActvity.java)
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class DANAMALL extends AppCompatActivity {
public static final String TAG_PLACE = "keyplace";
public static final String TAG_DAY = "keyDay";
Button b1;
EditText etpName;
EditText etd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dana_mall);
etpName = (EditText) findViewById(R.id.PLACE);
etd = (EditText) findViewById(R.id.DAY);
b1 = (Button)findViewById(R.id.add);
b1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(DANAMALL.this, PLAN.class);
intent.putExtra(TAG_PLACE, etpName.getText().toString());
intent.putExtra(TAG_DAY, etd.getText().toString());
startActivity(intent);
}
});}}
计划(secondActvity.java):
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class PLAN extends Activity {
TextView txt;
Button b1;
SharedPreferences plan ;
public static final String TAG_PLACE = "keyplace";
public static final String TAG_DAY = "keyDay";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.plan);
b1 = (Button)findViewById(R.id.show);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView txt = (TextView) findViewById(R.id.txtv);
Intent intent = getIntent();
String place = intent.getStringExtra(TAG_PLACE );
String Day = intent.getStringExtra(TAG_DAY);
plan=getSharedPreferences("savekey",MODE_PRIVATE);
SharedPreferences.Editor edit=plan.edit();
edit.putString("keyplace",place);
edit.putString("keyday",Day);
edit.commit();
Toast.makeText(getBaseContext(),
"YOUR PLAN SAVED :) ", Toast.LENGTH_LONG).show();
}
});
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
plan = getSharedPreferences("savekey", MODE_PRIVATE);
String place = plan.getString("keyplace", "");
String Day = plan.getString("keyday", "");
String msg = "VISIT:" + place + "DAY :" + Day;
b1.setText(msg);
}
}); }}
我的问题:通过后secondActvity中没有数据 ..... SharedPreferences 不显示保存的数据。
我想知道如何解决这个问题:)
【问题讨论】:
标签: android-intent sharedpreferences android-studio-2.2