بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل ست کردن دیتابیس روی لیست ویو (حل شد)
سلام. من یک اطلاعات روی دیتابیس دارم. هر کاری میکنم نمیتونم روی لیست ویو ست کنم. وقتی از اون 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);
پاسخ به سوال
MILAD-MB
12 سال پیش
0
0
این مشکل به کمک حسین جان حل شد . الان تمام ستون های اول که tittle نام داره رو روی لیست ویو ست کرده و نشون میده اما وقتی میخوام ستون دوم دیتابیس (text) که متنی از ستون اوله رو به صفحه بعد بفرستم هنگام کلیک کردن برنامه کرش میکنه.
لینک پروژه رو میزارم. خواهشا یکی این پروژه رو نگاه کنه ببینه چشه.خداوکیل خیلی وقته درگیرشم.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .