ورود

View Full Version : مشکل در ارسال اطلاعات دیتابیس به لیست ویو



jst
پنج شنبه 24 دی 1394, 23:39 عصر
سلام دوستان

من در اندروید مبتدی هستم . کد زیر روی دستور
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array);
خطا میده میشه راهنمایی بفرمایید.



mydb=MyDataBase.getReadableDatabase();
Cursor cursor= mydb.rawQuery("select name from persons_tb", null);

String[] array = new String[cursor.getCount()];
int i = 0;
if (cursor.moveToFirst()) {
do {
try {
array[i] = cursor.getString(cursor.getColumnIndex("name"));
i++;
} catch (Exception e) {
e.printStackTrace();
}
} while (cursor.moveToNext());
}
ListView listview=(ListView) findViewById(R.id.listView);



ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array);
listview.setAdapter(adapter);

Mohadi
جمعه 25 دی 1394, 00:53 صبح
سلام کدت زیاد واضح نیست و نمیدونم دقیقا چی میخوای از دیتابیس بگیری و چه تعداد هستن ولی یک چیزی که یکم مشکوکه اینه که کلا کدت از دم مشکوکه :لبخند:
و فکر میکنم داده هات رو داری اشتباه میگیری , یکم درموردش توضیح بده یا کد بذار برات کدش رو بنویسم بذارم.

msroid
جمعه 25 دی 1394, 09:45 صبح
سلام
این کد رو داری کجا استفاده میکنی...؟؟ خطایی که میده چیه...؟؟
قبل از this اسم اکتیویتی رو هم بیار شاید به خاطر اون باشه مثلا اگر تو MainActivity داری این کد رو استفاده میکنی بنویس MainActivity.this
فعلا همین به ذهنم میرسه. باید بگی چه خطایی میده تا بهتر بتونیم بهت کمک کنیم.

jst
جمعه 25 دی 1394, 10:20 صبح
MainActivity.this رو نوشتم و خطا بر طرف شد ولی هنگام اجرا خطای unfotunetly project has been stoped میده .
کلا قراره اطلاعات یک جدول رو بخونم و تو لیست ویو نمایش بدم .


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

final MyDatabase MyDataBase;
MyDataBase = new MyDatabase(this);

Button button = (Button) findViewById(R.id.button);
final TextView textView = (TextView) findViewById(R.id.textView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

mydb=MyDataBase.getReadableDatabase();
Cursor cursor= mydb.rawQuery("select name from persons_tb", null);

String[] array = new String[cursor.getCount()];
int i = 0;
if (cursor.moveToFirst()) {
do {
try {
array[i] = cursor.getString(cursor.getColumnIndex("name"));
i++;
} catch (Exception e) {
e.printStackTrace();
}
} while (cursor.moveToNext());
}
ListView listview=(ListView) findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_it em_1,array);
listview.setAdapter(adapter);




}

});

msroid
جمعه 25 دی 1394, 11:26 صبح
کدت رو اینجوری بنویس ببین جواب میگیری یا نه. اگر بازم ارور داد تو LogCat ببین داره از کدوم خط ارور میگیره و چه اروری میده.


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

final MyDatabase MyDataBase;
MyDataBase = new MyDatabase(this);

Button button = (Button) findViewById(R.id.button);
final TextView textView = (TextView) findViewById(R.id.textView);
ListView listview=(ListView) findViewById(R.id.listView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

mydb=MyDataBase.getReadableDatabase();
Cursor cursor= mydb.rawQuery("select name from persons_tb", null);

String[] array = new String[cursor.getCount()];
int i = 0;
if (cursor.moveToFirst()) {
do {
try {
array[i] = cursor.getString(cursor.getColumnIndex("name"));
i++;
} catch (Exception e) {
e.printStackTrace();
}
} while (cursor.moveToNext());
}
if(array.length > 0){
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.l ayout.simple_list_item_1,array);
listview.setAdapter(adapter);
}

}

});

jst
جمعه 25 دی 1394, 13:45 عصر
با تشکر فراوان از دوستان مشکل حل شد !
از همگی متشکرم .