آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

آپدیت نشدن Emulator بعد از تغییرات در پروژه note

Ali  10 سال پیش  10 سال پیش
0 0

سلام دوستان.در پروژه  note-server ، وقتی تغییراتی در ActivityEdit انجام میدم یا لیستی اضافه میکنم، وقتی برمیگرده تو ActivityMain ،  تو emulator(نرم افزار)  آپدیت نمیشه ولی تغییرات تو سرور انجام میشه .لطفا راهنمایی کنید.

---------------------------------------------------------------------------------------------------------

public class ActivityMain extends Activity {
    @Override
    protected void onResume() {
        G.currentActivity = this;
        super.onResume();
        adapter.notifyDataSetChanged();
    }
 
    private ArrayAdapter adapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView lstView = (ListView) findViewById(R.id.lstView);
        Button btnAdd = (Button) findViewById(R.id.btnAdd);
 
        adapter = new AdapterNote(G.task);
        lstView.setAdapter(adapter);
 
        btnAdd.setOnClickListener(new OnClickListener() {
 
            public void onClick(View arg0) {
                Intent intent = new Intent(G.currentActivity, ActivityEdit.class);
                G.currentActivity.startActivity(intent);
            }
        });
        WebService.readData();
        adapter.notifyDataSetChanged();
    }
 
}
------------------------------------------------------------------------------------------------
public class ActivityEdit extends Activity {
 
    public boolean mustInsert;
 
 
    @Override
    protected void onResume() {
        G.currentActivity = this;
        super.onResume();
    }
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit);
 
        final EditText edtTitle = (EditText) findViewById(R.id.edtTitle);
        final EditText edtDesc = (EditText) findViewById(R.id.edtDesc);
        final CheckBox chkDone = (CheckBox) findViewById(R.id.chkDone);
        Button btnOk = (Button) findViewById(R.id.btnOk);
        final StructTask task;
        Bundle extras = getIntent().getExtras();
 
        if (extras != null) {
            int position = extras.getInt("POSITION");
            task = G.task.get(position);
            edtTitle.setText(task.title);
            edtDesc.setText(task.desc);
            chkDone.setChecked(task.done);
        } else {
            task = new StructTask();
            mustInsert = true;
        }
        btnOk.setOnClickListener(new OnClickListener() {
 
            public void onClick(View arg0) {
                task.done = chkDone.isChecked();
                BasicNameValuePair idPair = new BasicNameValuePair("id", "" + task.id);
                BasicNameValuePair titlePair = new BasicNameValuePair("title", edtTitle.getText().toString());
                BasicNameValuePair descPair = new BasicNameValuePair("desc", edtDesc.getText().toString());
                BasicNameValuePair donePair = new BasicNameValuePair("done", "" + (task.done ? 1 : 0));
                ArrayList params = new ArrayList();
                params.add(titlePair);
                params.add(descPair);
                params.add(idPair);
                params.add(donePair);
                if (mustInsert) {
                    WebService.insertData(params);
                    G.task.add(task);
                } else {
                    WebService.updateData(params);
                }
                finish();
            }
        });
    }
}
 
0 0
adabter.notifydatasetchenge(); برای آبدیت و Refresh اطلاعات بکار ببرید (10 سال پیش)
0 0
کد ها را به صورت کد بزارین نه متن معمولی نکته دوستمون را تست کنید (10 سال پیش)
0 0
کدها رو اصلاح کردم تو متن. از adapter.notifyData... استفاده کردم بازم جواب نمیده. (10 سال پیش)
0 0
Log بزار و تست کن کدت به نظر مشکل نداره (10 سال پیش)
0 0
(10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
hossein_hr10  10 سال پیش
+2 0

سلام دوست عزیز کدی نوشتین

publicvoid onClick(View arg0){
                task.done= chkDone.isChecked();
                BasicNameValuePair idPair =newBasicNameValuePair("id",""+ task.id);
                BasicNameValuePair titlePair =newBasicNameValuePair("title", edtTitle.getText().toString());
                BasicNameValuePair descPair =newBasicNameValuePair("desc", edtDesc.getText().toString());
                BasicNameValuePair donePair =newBasicNameValuePair("done",""+(task.done?1:0));
                ArrayListparams=newArrayList();
                params.add(titlePair);
                params.add(descPair);
                params.add(idPair);
                params.add(donePair);
                if(mustInsert){
                    WebService.insertData(params);
                    G.task.add(task);
                }else{
                    WebService.updateData(params);
                }
                finish();
            }




به این نمونه تغییر بدی


publicvoid onClick(View arg0){
                task.done= chkDone.isChecked();
///////////////
task.title=edtTitle.getText().toString());
task.desc=edtDesc.getText().toString());
////////////////               
 
BasicNameValuePair idPair =newBasicNameValuePair("id",""+ task.id);
 
BasicNameValuePair titlePair =newBasicNameValuePair("title", edtTitle.getText().toString());  
BasicNameValuePair descPair =newBasicNameValuePair("desc", edtDesc.getText().toString());
و در ادامه دقیقا همون کد خودتون رو بنویسید فقط اون دو خطی که داخل //// نوشتمو رو اضافه کنیند به کداتون

و دستوری رو هم که نوشتین
ArrayListparams=newArrayList();
به این تغییر بدین
ArrayList<NameValuePair>params=newArrayList<NameValuePair>();
 
+1 0
مرسی دوست عزیز.دقیقا مشکل همینجا بود که من واسه titlePair و descPair مستقیم edtTitle و edtDesc تعریف کرده بودم .task.title و task.desc گذاشتم درست شد. از بقیه دوستان هم ممنونم. (10 سال پیش)
+1 0
خواهش میکنم خوشحالم مشکلتون حل شد موفق باشید (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .