배열을 채우고 listview에 표시하는 기본 앱이 있습니다. 응용 프로그램을 닫고 다시 열면 listview는 비어 있습니다. 배열을 저장할 위치는 어디입니까? 공유 환경 설정에 대한 많은 게시물을 보았지만 배열을 저장할 수있는 해결 방법 인 것처럼 보이고 배열 저장소에있는 모든 Android 설명서를 찾을 수 없습니까? 누구든지 올바른 방향으로 나를 가르쳐 주시겠습니까?배열을 저장하는 방법은 무엇입니까?
내 코드를 요청한 ....
public class ListView_Activity extends AppCompatActivity {
ArrayList<String>mylistarray = new ArrayList<>();
String tempdescr;
String tempname;
static final int ADD_NEW_ITEM = 1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view_);
/*add the main toolbar and make some changes to format*/
Toolbar mToolbar = findViewById(R.id.my_toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
mToolbar.setTitle(R.string.toolbartitle);
mToolbar.setSubtitle(R.string.toolbarsubtitle);
mToolbar.setTitleTextColor(getResources().getColor(R.color.colorWhite));
mToolbar.setSubtitleTextColor(getResources().getColor(R.color.colorAccent));
final ArrayAdapter<String> myadapter = new ArrayAdapter<String>(ListView_Activity.this, R.layout.simple_list_item_1, R.id.row_item_text_view, mylistarray);
/*create array adapter and set to listview*/
final ListView mylistview = findViewById(R.id.mylistview);
mylistview.setAdapter(myadapter);
mylistarray.add("Test");
myadapter.notifyDataSetChanged();
final FloatingActionButton additembutton = findViewById(R.id.floatingActionButton);
additembutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent additem = new Intent(ListView_Activity.this, Create_Item_Activity.class);
startActivityForResult(additem, 1);
}
});
}
/*load options menu to toolbar*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_toolbar, menu);
return true;
}
/*handle options menu click events*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings:
//intent here to load settings activity//
return true;
case R.id.Feedback:
Intent Feedbackemail = new Intent(Intent.ACTION_SEND);
Feedbackemail.setType("text/email");
Feedbackemail.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});
Feedbackemail.putExtra(Intent.EXTRA_SUBJECT, "Feedback");
Feedbackemail.putExtra(Intent.EXTRA_TEXT,"Dear..."+"");
startActivity(Intent.createChooser(Feedbackemail,"Send Feedback"));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == ADD_NEW_ITEM){
if (resultCode == Activity.RESULT_OK) {
tempdescr = data.getStringExtra("tempdescr");
tempname = data.getStringExtra("tempname");
mylistarray.add(tempdescr);
mylistarray.add(tempname);
}
if (resultCode == Activity.RESULT_CANCELED) {
Toast replacewithcode = Toast.makeText(ListView_Activity.this, "replace with code", Toast.LENGTH_SHORT);
replacewithcode.show();
}
}
}
}
배열을 어디서 구합니까? – MeHdi
배열은 mainactivity에서 만들어지고 표준 의도를 통해 채워집니다. 필요하면 코드를 게시합니까? – Adam
그러나 배열이 주 활동에서 작성된 경우 일반적으로 앱을 닫았다가 다시 열면 다시 만들어야합니다. – FreshD