我在主要活动中保存了一些值,我想在次要活动中加载它,但我不知道该怎么做。值将加载到同一活动中。任何人都可以帮助我。
非常感谢!
主要活动:
public void SaveList(View view) {
//WriteMethode
String weight = "Gewicht: " +weightText.getText().toString() + "kg" ;
String height = " Körpergröße: "+ heightText.getText().toString() + "cm";
try {
FileOutputStream fileOutputStream = openFileOutput("values.txt",MODE_APPEND);
fileOutputStream.write(weight.getBytes());
fileOutputStream.write(height.getBytes());
Toast.makeText(getApplicationContext(),"Gespeichert",Toast.LENGTH_LONG).show();
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void showlist(View view){
try {
FileInputStream fileInputStream = openFileInput("values.txt");
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
BufferedReader bufferedReader= new BufferedReader(inputStreamReader);
StringBuffer stringBuffer= new StringBuffer();
String lines;
while((lines=bufferedReader.readLine()) !=null){
stringBuffer.append("\n"+lines +"\n");
}
resultText.setText( stringBuffer.toString());
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Intent intent = new Intent(this, MyList.class);
startActivity(intent);
}
}
第二项活动:
public class MyList extends AppCompatActivity {
TextView resultLabel;
TextView resultText;
// Button listButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_list);
}
答案 0 :(得分:0)
在Android中,最好使用共享首选项来保存这种应用程序数据。
this是一个很好的教程,可以帮助您了解它的工作原理
答案 1 :(得分:0)
使用意图,这是在活动之间发送的消息。在intent中,您可以放置所有类型的数据,String,int等。
例如在activity2
中,在转到activity1
之前,您将以这种方式存储字符串消息:
Intent intent = new Intent(activity2.this, activity1.class);
intent.putExtra("message", message);
startActivity(intent);
在activity1
中,在onCreate()
中,您可以通过检索Bundle(包含调用活动发送的所有消息)来获取String消息,并在其上调用getString()
:< / p>
Bundle bundle = getIntent().getExtras();
String message = bundle.getString("message");
然后您可以在TextView中设置文本:
TextView txtView = (TextView) findViewById(R.id.your_resource_textview);
txtView.setText(message);