RecyclerView و insert بهش از یک اکتیویتی دیگر
با سلام خدمت عزیزان مشکلم اینه که فرض کنید دوتا اکتیویتی دارم که تو اکتیویتی دوم یه RecyclerView هست که میخوام وقتی در اکتیویتی اول روی یه دکمه کلیک کرد اطلاعاتی بده به اکتیویتی دوم و در RecyvlerView یک مورد چاپ بشه و هربار که برمیگرده از اکتیویتی دوم به اکتیویتی اول و باز دکمه را کلیک کرد در اکتیویتی دوم که به مورد قبلیمون اضافه بشه ، سوالم اینه که چکار کنم که وقتی برمیگرده به اکتیویتی اول و دوباره رو دکمه کلیک میکنه که بره به اکتیویتی دوم ، علاوه بر اینکه اون موارد قبلی ساخته شده در RecyclerView پاک نشه ، این مورد هم اضافه بشه ؟!!!!
متاسفانه الان طوری که وقتی کلیک میکنه و میره به اکتیویتی دوم یک مورد در RecyclerView نشان میده و وقتی برمیگردم به اکتیویتی اول و دوباره میرم به اکتیویتی دوم اون مورد قبل حذف شده و این مورد جایگزین شده درحالی که میخوام اضافه بر قبلی بشه . ( ببخشید یکم بد توضیح دادم )
public class History extends AppCompatActivity {
private String result;
private String history;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
RecyclerView list_history = findViewById(R.id.list_history);
list_history.setLayoutManager(new LinearLayoutManager(this));
ArrayList<History> histories = new ArrayList<>();
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
if (intent.hasExtra("name")){
result = bundle.getString("n1");
}
if (intent.hasExtra("family")){
history = bundle.getString("n2");
}
histories.add(new History(result, history));
RecyclerAdapter adapter = new RecyclerAdapter(histories);
list_history.setAdapter(adapter);
}
اول اینکه بگم به مبحث دیتابیس رسیدید ؟ یا نه.
چیزی که میگید رو میتونید یک کلاس جداگونه براش بسازید ، توی اون کلاس یک آرایه وجود داشته باشه ، سپس کانستراکتوری درست کنید از کلاستون که ورودیش همین آرایه باشه و هر وقت صدا زده میشه یک رشته بهش اضاف بشه. ولی این تا کجا کارایی داره ؟ اگه به فکر یه برنامه برای کاربر هستید که باید مبحث دیتابیس رو مطالعه کنید ، چون به راحتی میتونید همین عملیات رو روی دیتابیس انجام بدید و به راحتی ازش بخونید و توی ریسایکلر ویوی خودتون ، ست کنید.
برای دیتابیس نیاز هست :
1- پرمیشن لازم که برای دسترسی به SD Card هست رو از کاربر بگیرید که در یک ورژنی به بعد این گرفتن دسترسی متفاوت شده و همین که در منیفست ذکر کنید کفایت نمیکنه ( آموزش استاد این روند رو تسهیل کرده و میتونید از کدهای آماده استفاده کنید. )
2- با چند خط کد ، دیتابیسی در SD Card ایجاد میکنید.
3- در موقع لازم با یک خط کد ، چیزی که میخواید رو به دیتابیس انتقال میدید.
4-ریسایکلرویو از دیتابیس تغذیه میشه.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .