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

مشکل ست کردن دیتابیس روی لیست ویو (حل شد)

MILAD-MB  12 سال پیش  12 سال پیش
+1 0

سلام. من یک اطلاعات روی دیتابیس دارم. هر کاری میکنم نمیتونم روی لیست ویو ست کنم. وقتی از اون Log میگیرم نشون میده که اطلاعات به طور صحیح از دیتابیس خونده شده اما روی لیست ویو خونده نمیشه...

این از ActivityMain که لیست ویو روش ذخیره شده

 public class ActivityMain extends EnhancedActivity {

    private ListView                    list;
    public ArrayAdapter                 adapter;
    public static ArrayList<StructNote> notes = new ArrayList<StructNote>();


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        adapter = new AdapterNote(G.notes);

        list = (ListView) findViewById(R.id.list);
        list.setAdapter(adapter);

        populateFromDatabase();
    }


    private void populateFromDatabase() {

        G.database = SQLiteDatabase.openOrCreateDatabase(G.DIR_APP + "/mydatabase", null);
        Cursor cursor = G.database.rawQuery("SELECT * FROM database", null);

        while (cursor.moveToNext()) {
            StructNote note = new StructNote();

            note.title = cursor.getString(cursor.getColumnIndex("tittle"));
            note.text = cursor.getString(cursor.getColumnIndex("text"));
            Log.i("LOG", "Record: " + note.title + " " + note.text);

            notes.add(note);
        }
        cursor.close();
        adapter.notifyDataSetChanged();

این AdapterNote هم نمونه یکی از اون لیست ویو ست

 public class AdapterNote extends ArrayAdapter<StructNote> {

public AdapterNote(ArrayList<StructNote> array) {
super(project.G.context, R.layout.adapter_notes, array);
}


private static class ViewHolder {

public TextView txtTitle;


public ViewHolder(View view) {
txtTitle = (TextView) view.findViewById(R.id.txtTitle);
}


public void fill(ArrayAdapter<StructNote> adapter, final StructNote item, final int position) {
txtTitle.setText(item.title);

اینم از StructNote

 public class StructNote {

public String title;
public String text;
}
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
hosein2020  12 سال پیش
+2 0

دقت کنید که  شما notes رو تو خود اکتیویتی تعریف کردید و مقدار دهی کردید ولی G.notes رو  به adapterNote فرستادید .صحیحش اینه : 

  adapter =newAdapterNote(notes);
0 0
سلام. حسین جان ممنونم ازت مشکلم حل شد. (12 سال پیش)
پاسخ به سوال 
MILAD-MB  12 سال پیش
0 0

این مشکل به کمک حسین جان حل شد . الان تمام ستون های اول که tittle نام داره رو روی لیست ویو ست کرده و نشون میده اما وقتی میخوام ستون دوم دیتابیس (text) که متنی از ستون اوله رو به صفحه بعد بفرستم هنگام کلیک کردن برنامه کرش میکنه.
لینک پروژه رو میزارم. خواهشا یکی این پروژه رو نگاه کنه ببینه چشه.خداوکیل خیلی وقته درگیرشم.

project

0 0
باز هم همون ماجراست! تو ActivityView هم به جای G.notes به notes اشاره کردی. اصلا تو هر صفحه ای نیاز به notes نداری. اونو یه بار تو G ساختی که از همه جا به همون دسترسی داشته باشی. (کل notes های صفحاتت رو پاک کن و به notes توی G اشاره بده) (12 سال پیش)
0 0
صادق جان بازم مثل همیشه جونمو نجات دادی :) ممنونم ازت :) :* البته از حسین جان هم ممنونم که راهنمایی کردن :) (12 سال پیش)

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