ورود

View Full Version : مشکل در ایجاد بخش علاقه مندی های کتاب



meysam jahedi
شنبه 10 آبان 1393, 14:00 عصر
سلام

یه لیست ویو سفارشی همراه با دکمه افزاودن/حذف از لیست علاقمندی ها دارم، ستون FAV در دیتابیس با 0 و 1 مشخص میشه یعنی اگر 0 بود در لیست نیست و اگر 1 بود جزء لیست علاقمندی ها هستش ، کد ها بخشی که باهاش مشکل دارم (یعنی با قسمت دستور update مشکل دارم) رو میزارم :


public class MyAdapter extends BaseAdapter {
Activity a;
String[] namearray;
String[] FAV;
int[] kodd;
String[] familyarray;
String[] idarray;
private mydatabase mydata;
private SQLiteDatabase mydb;
public MyAdapter (Activity act, String[] id,String[] names,String[] pgcount,String[] alaghe,int[]kod){
a=act;
this.namearray=names;
this.familyarray=pgcount;
this.idarray=id;
this.FAV=alaghe;
this.kodd=kod;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return namearray.length;
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}


@Override
public View getView(final int pos, View convertView, ViewGroup arg2) {

View mylist;
LayoutInflater inflater = (LayoutInflater) a.getSystemService(Context.LAYOUT_INFLATER_SERVICE );
if (convertView == null) {
mylist = new View(a);

mylist = inflater.inflate(R.layout.listdars_row, null);

TextView textView2 = (TextView) mylist.findViewById(R.id.listdars_row_name);
TextView textView3 = (TextView) mylist.findViewById(R.id.listdars_row_pagecount);
final ImageView fav=(ImageView) mylist.findViewById(R.id.listdars_row_fav);

if(FAV[pos].equals("1")){
fav.setImageResource(R.drawable.favon);
}else{
fav.setImageResource(R.drawable.favoff);

}
fav.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {

if(FAV[pos].equals("1")){

mydb=mydata.getWritableDatabase();
mydb.execSQL("update tdb set FAV='0' where kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favoff);
FAV[pos]="0";

}else{

mydb=mydata.getWritableDatabase();
mydb.execSQL("update tdb set FAV='1' where kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favon);
FAV[pos]="1";
}

}
});


textView2.setText(namearray[pos]);
textView3.setText(familyarray[pos]);
} else {
mylist = (View) convertView;
}
return mylist;
}


}





نمیدونم چرا اینقسمت خطا میگیره و فورس کلوز میده ؟ نمیدونم مشکلش چیه
mydb.execSQL("update tdb set FAV='0' where kod="+kodd[pos]);



11-01 15:11:29.082: E/dalvikvm(3677): Unable to open stack trace file '/data/anr/traces.txt': Is a directory
11-01 15:11:33.372: E/AndroidRuntime(3677): FATAL EXCEPTION: main
11-01 15:11:33.372: E/AndroidRuntime(3677): java.lang.NullPointerException
11-01 15:11:33.372: E/AndroidRuntime(3677): at com.meysam.malgoritm.MyAdapter$1.onClick(MyAdapter .java:75)
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.view.View.performClick(View.java:3511)
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.view.View$PerformClick.run(View.java:14105 )
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.os.Handler.handleCallback(Handler.java:605 )
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.os.Handler.dispatchMessage(Handler.java:92 )
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.os.Looper.loop(Looper.java:137)
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
11-01 15:11:33.372: E/AndroidRuntime(3677): at java.lang.reflect.Method.invokeNative(Native Method)
11-01 15:11:33.372: E/AndroidRuntime(3677): at java.lang.reflect.Method.invoke(Method.java:511)
11-01 15:11:33.372: E/AndroidRuntime(3677): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
11-01 15:11:33.372: E/AndroidRuntime(3677): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
11-01 15:11:33.372: E/AndroidRuntime(3677): at dalvik.system.NativeStart.main(Native Method)







نمیدونم این خطاها برا چیه

meysam jahedi
شنبه 10 آبان 1393, 15:30 عصر
دوستان خیلی کارم گیره:گریه:

meysam jahedi
شنبه 10 آبان 1393, 18:13 عصر
دوستان عزیز کسی نظری نداره؟

tux-world
شنبه 10 آبان 1393, 19:10 عصر
منظورتون از
kodd[pos] چیه؟ وقتی که روی یکی از عناصر کلیک میکنید مگه نمیخواید که اون عنصر رو ببینید که جزو علاقمندی ها هست یا نه؟ از دیتابیس هم میخونید این مورد رو درسته؟ خوب وقتی که کلیک میکنید post یعنی چی؟ میخوایید آی دی اون عنصر رو تو لیست ویو بردارید ؟ خوب از itemId چرا استفاده نمیکنید. ضمن این که شما باید یه فیلدی مثل بولین باید داشته باشید که همیشه نیازی نداشته باشید دیتابیس رو بخونید و بنویسید و سربار اضافی بزارید روش

meysam jahedi
شنبه 10 آبان 1393, 19:13 عصر
لینک دانلود برنامه رو میزارم ، دوستان اگه لطف کنن ببینن مشکل کار کجاست که با کلیک روی تصویر ستاره دستور UPDATE انجام نمیشه ممنون میشم ، لطف کنید کد اصلاح شده رو بزارید ممنون میشم واقعا
http://s5.picofile.com/file/8149111176/M_Algoritm.zip.html

meysam jahedi
شنبه 10 آبان 1393, 22:10 عصر
وقتی که روی یکی از عناصر کلیک میکنید مگه نمیخواید که اون عنصر رو ببینید که جزو علاقمندی ها هست یا نه؟

با دستور زیر متوجه میشه FAV مقدارش در دیتابیس 0 یا 1 و بر اساس اون تصویر در لیست ویو تغییر میکنه (اینجاش مشکل نداره و FAV[pos] درست کار میکنه )

if(FAV[pos].equals("1")){ fav.setImageResource(R.drawable.favon);
}else{
fav.setImageResource(R.drawable.favoff);

}



اما در دستور بعدیش یعنی
public void onClick(View arg0) {
if(FAV[pos].equals("1")){

mydb=mydata.getWritableDatabase();
mydb.execSQL("update tdb set FAV='0' where kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favoff);
FAV[pos]="0";

}else{

mydb=mydata.getWritableDatabase();
mydb.execSQL("update tdb set FAV='1' where kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favon);
FAV[pos]="1";
}

}
});

خطا میده ، در قسمت قبلش که بر اساس FAV[pos]
کار میکرد درست بود و با pos ردیف ها در FAV دیتابیس رو میشناخت اما اینجا موقع اجرا UPDATE ایراد میگیره

tux-world
شنبه 10 آبان 1393, 22:20 عصر
دیتابیس رو چرا میبندی؟ موقعی باید ببندیش که برنامت کارش تموم شده. این خط های بستن رو بردار و تست کن خبر بده

meysam jahedi
شنبه 10 آبان 1393, 22:37 عصر
1- یه آداپتر دارم به صورت زیر :



public class MyAdapter extends BaseAdapter {
Activity a;
String[] namearray;
String[] FAV;
int[] kodd;
String[] familyarray;
String[] idarray;
private mydatabase mydata;
private SQLiteDatabase mydb;
public MyAdapter (Activity act, String[] id,String[] names,String[] pgcount,String[] alaghe,int[] kod){
a=act;
this.namearray=names;
this.familyarray=pgcount;
this.idarray=id;
this.FAV=alaghe;
this.kodd=kod;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return namearray.length;
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}


@Override
public View getView(final int pos, View convertView, ViewGroup arg2) {

View mylist;
LayoutInflater inflater = (LayoutInflater) a.getSystemService(Context.LAYOUT_INFLATER_SERVICE );
if (convertView == null) {
mylist = new View(a);

mylist = inflater.inflate(R.layout.listdars_row, null);

TextView textView2 = (TextView) mylist.findViewById(R.id.listdars_row_name);
TextView textView3 = (TextView) mylist.findViewById(R.id.listdars_row_pagecount);
final ImageView fav=(ImageView) mylist.findViewById(R.id.listdars_row_fav);

if(FAV[pos].equals("1")){
fav.setImageResource(R.drawable.favon);
}else{
fav.setImageResource(R.drawable.favoff);

}
fav.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {

if(FAV[pos].equals("1")){

mydb=mydata.getWritableDatabase();
mydb.execSQL("UPDATE tdb SET FAV='0'WHERE kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favoff);
FAV[pos]="0";

}else{

mydb=mydata.getWritableDatabase();
mydb.execSQL("UPDATE tdb SET FAV='1'WHERE kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favon);
FAV[pos]="1";
}

}
});


textView2.setText(namearray[pos]);
textView3.setText(familyarray[pos]);
} else {
mylist = (View) convertView;
}
return mylist;
}


}



2- توسط دستورات زیر هم داده ها رو از دیتابیس میگیرم و چندتا آرایه رو باهاشون پر میکنم :


public void refresh(){
mydb=mydata.getReadableDatabase();
Cursor recdaryafti = mydb.rawQuery("select * from tdb group by NAME order by id ", null);

NAME = new String[recdaryafti.getCount()];
pgcount = new String[recdaryafti.getCount()];
ID = new String[recdaryafti.getCount()];
FAMILY=new String[recdaryafti.getCount()];
KOD=new int[recdaryafti.getCount()];
FAV=new String[recdaryafti.getCount()];
if(recdaryafti.moveToFirst()){
do{
NAME[i] = recdaryafti.getString(1);
FAMILY[i] = recdaryafti.getString(2);
ID[i] = recdaryafti.getString(0);
FAV[i] = recdaryafti.getString(4);
KOD[i] = Integer.parseInt(recdaryafti.getString(5));
pgcount[i] = Story_page_count(NAME[i].toString())+"";

i++;
}
while(recdaryafti.moveToNext());
}

recdaryafti.close();
mydb.close();
setListAdapter(new MyAdapter(this, ID, NAME, pgcount,FAV,KOD));



}}



یعنی با دستور زیر آداپتر رو میخونم :
setListAdapter(new MyAdapter(this, ID, NAME, pgcount,FAV,KOD));

اما دستور update انجام نمیشه در این قسمتش :


if(FAV[pos].equals("1")){
mydb=mydata.getWritableDatabase();
mydb.execSQL("UPDATE tdb SET FAV='0'WHERE kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favoff);
FAV[pos]="0";

}else{

mydb=mydata.getWritableDatabase();
mydb.execSQL("UPDATE tdb SET FAV='1'WHERE kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favon);
FAV[pos]="1";
}

tux-world
شنبه 10 آبان 1393, 22:47 عصر
خوب ببینم یه سوال. بعد اینکه شما دارید این تغییرات رو اعمال میکنید اینکه تو لیست اعمال نمیشه کاری ندارم میدونم اشتباست سوالم اینه که آیا اطلاعاتی که برای فعال یا غیرفعال کردنش دارید از دیتابیس میفرستید درسته؟ فقط تو لیست اعمال نمیشه دیگه درسته؟

meysam jahedi
یک شنبه 11 آبان 1393, 09:22 صبح
سوالم اینه که آیا اطلاعاتی که برای فعال یا غیرفعال کردنش دارید از دیتابیس میفرستید درسته؟ فقط تو لیست اعمال نمیشه دیگه درسته؟

نمیدونم منظورتون چیه

meysam jahedi
یک شنبه 11 آبان 1393, 09:54 صبح
دیتابیس رو چرا میبندی؟ موقعی باید ببندیش که برنامت کارش تموم شده. این خط های بستن رو بردار و تست کن خبر بده
نه ، بازم فرقی نکرد

barnamenevisjavan
یک شنبه 11 آبان 1393, 10:07 صبح
سلام

یه لیست ویو سفارشی همراه با دکمه افزاودن/حذف از لیست علاقمندی ها دارم، ستون FAV در دیتابیس با 0 و 1 مشخص میشه یعنی اگر 0 بود در لیست نیست و اگر 1 بود جزء لیست علاقمندی ها هستش ، کد ها بخشی که باهاش مشکل دارم (یعنی با قسمت دستور update مشکل دارم) رو میزارم :


public class MyAdapter extends BaseAdapter {
Activity a;
String[] namearray;
String[] FAV;
int[] kodd;
String[] familyarray;
String[] idarray;
private mydatabase mydata;
private SQLiteDatabase mydb;
public MyAdapter (Activity act, String[] id,String[] names,String[] pgcount,String[] alaghe,int[]kod){
a=act;
this.namearray=names;
this.familyarray=pgcount;
this.idarray=id;
this.FAV=alaghe;
this.kodd=kod;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return namearray.length;
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}


@Override
public View getView(final int pos, View convertView, ViewGroup arg2) {

View mylist;
LayoutInflater inflater = (LayoutInflater) a.getSystemService(Context.LAYOUT_INFLATER_SERVICE );
if (convertView == null) {
mylist = new View(a);

mylist = inflater.inflate(R.layout.listdars_row, null);

TextView textView2 = (TextView) mylist.findViewById(R.id.listdars_row_name);
TextView textView3 = (TextView) mylist.findViewById(R.id.listdars_row_pagecount);
final ImageView fav=(ImageView) mylist.findViewById(R.id.listdars_row_fav);

if(FAV[pos].equals("1")){
fav.setImageResource(R.drawable.favon);
}else{
fav.setImageResource(R.drawable.favoff);

}
fav.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {

if(FAV[pos].equals("1")){

mydb=mydata.getWritableDatabase();
mydb.execSQL("update tdb set FAV='0' where kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favoff);
FAV[pos]="0";

}else{

mydb=mydata.getWritableDatabase();
mydb.execSQL("update tdb set FAV='1' where kod="+kodd[pos]);
mydb.close();
fav.setImageResource(R.drawable.favon);
FAV[pos]="1";
}

}
});


textView2.setText(namearray[pos]);
textView3.setText(familyarray[pos]);
} else {
mylist = (View) convertView;
}
return mylist;
}


}





نمیدونم چرا اینقسمت خطا میگیره و فورس کلوز میده ؟ نمیدونم مشکلش چیه
mydb.execSQL("update tdb set FAV='0' where kod="+kodd[pos]);



11-01 15:11:29.082: E/dalvikvm(3677): Unable to open stack trace file '/data/anr/traces.txt': Is a directory
11-01 15:11:33.372: E/AndroidRuntime(3677): FATAL EXCEPTION: main
11-01 15:11:33.372: E/AndroidRuntime(3677): java.lang.NullPointerException
11-01 15:11:33.372: E/AndroidRuntime(3677): at com.meysam.malgoritm.MyAdapter$1.onClick(MyAdapter .java:75)
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.view.View.performClick(View.java:3511)
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.view.View$PerformClick.run(View.java:14105 )
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.os.Handler.handleCallback(Handler.java:605 )
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.os.Handler.dispatchMessage(Handler.java:92 )
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.os.Looper.loop(Looper.java:137)
11-01 15:11:33.372: E/AndroidRuntime(3677): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
11-01 15:11:33.372: E/AndroidRuntime(3677): at java.lang.reflect.Method.invokeNative(Native Method)
11-01 15:11:33.372: E/AndroidRuntime(3677): at java.lang.reflect.Method.invoke(Method.java:511)
11-01 15:11:33.372: E/AndroidRuntime(3677): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
11-01 15:11:33.372: E/AndroidRuntime(3677): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
11-01 15:11:33.372: E/AndroidRuntime(3677): at dalvik.system.NativeStart.main(Native Method)







نمیدونم این خطاها برا چیه

احتمال میدم مشکل از شرط هات باشه
کد
if(FAV[pos].equals("1")){
بصورت زیر تغییر بده تست بکن
if (Fav[pos] == 1) {

meysam jahedi
یک شنبه 11 آبان 1393, 10:25 صبح
بصورت زیر تغییر بده تست بکن


1
if (Fav[pos] == 1) {





به صورت زیر تغییر دادم اما بازم خطا داد


if(FAV[pos]=="1"){

mydb.execSQL("UPDATE tdb SET FAV='0'WHERE kod="+kodd[pos]);

fav.setImageResource(R.drawable.favoff);
FAV[pos]="0";

}else {

mydb.execSQL("UPDATE tdb SET FAV='1'WHERE kod="+kodd[pos]);
fav.setImageResource(R.drawable.favon);
FAV[pos]="1";
}




11-02 07:31:28.200: E/AndroidRuntime(2341): FATAL EXCEPTION: main
11-02 07:31:28.200: E/AndroidRuntime(2341): java.lang.NullPointerException
11-02 07:31:28.200: E/AndroidRuntime(2341): at com.meysam.malgoritm.MyAdapter$1.onClick(MyAdapter .java:83)
11-02 07:31:28.200: E/AndroidRuntime(2341): at android.view.View.performClick(View.java:3511)
11-02 07:31:28.200: E/AndroidRuntime(2341): at android.view.View$PerformClick.run(View.java:14105 )
11-02 07:31:28.200: E/AndroidRuntime(2341): at android.os.Handler.handleCallback(Handler.java:605 )
11-02 07:31:28.200: E/AndroidRuntime(2341): at android.os.Handler.dispatchMessage(Handler.java:92 )
11-02 07:31:28.200: E/AndroidRuntime(2341): at android.os.Looper.loop(Looper.java:137)
11-02 07:31:28.200: E/AndroidRuntime(2341): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
11-02 07:31:28.200: E/AndroidRuntime(2341): at java.lang.reflect.Method.invokeNative(Native Method)
11-02 07:31:28.200: E/AndroidRuntime(2341): at java.lang.reflect.Method.invoke(Method.java:511)
11-02 07:31:28.200: E/AndroidRuntime(2341): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
11-02 07:31:28.200: E/AndroidRuntime(2341): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
11-02 07:31:28.200: E/AndroidRuntime(2341): at dalvik.system.NativeStart.main(Native Method)


لینک دانلود برنامه رو چند پست قبل گذاشتم ، اگه لطف کنید ببینید ممنون میشم

Nevercom
یک شنبه 11 آبان 1393, 11:34 صبح
در مورد حل مشکلتون نظری ندارم، اما ایرادی در کدهاتون دیدم و همچنین توصیه ای داشتم.
mydb.execSQL("UPDATE tdb SET FAV='0'WHERE kod="+kodd[pos]);
در این خط قبل از عبارت WHERE باید یک فاصله (Space) بزارید.
همچنین توصیه می کنم برای کارهایی مثل SELECT , INSERT و اینها (CRUD)، از توابع موجود در کلاس دیتابیس استفاده کنید، چرا که تمام موارد مهم برای ایجاد کد SQL رو خودش مدیریت کرده و احتمال بروز خطا بخاطر اشتباه در کد SQL کم میشه و البته کدهاتون هم خواناتر میشه.

if(FAV[pos]=="1"){...}
اگر مقدار این متغیر از جنس String هست (یعنی "1")، این نوع مقایسه صحیح نیست و باید از متد equals در کلاس String استفاده بشه.

meysam jahedi
یک شنبه 11 آبان 1393, 11:57 صبح
در این خط قبل از عبارت WHERE باید یک فاصله (Space) بزارید.

اگر مقدار این متغیر از جنس String هست (یعنی "1")، این نوع مقایسه صحیح نیست و باید از متد equals در کلاس String استفاده بشه.

ممنون از تذکرتون ، اما مشکل من همچنان پا برجاست

Nevercom
یک شنبه 11 آبان 1393, 12:21 عصر
خب شما در آداپتور از کلاس mydatabase استفاده کردید بدون اینکه Initializeش کنید. به همین دلیل بهتون خطا میده میده چون این شئ Null هست و شما سعی می کنید متد getWriteableDatabase رو از این شئ صدا بزنید.

علاوه بر اصلاحاتی که گفتم این خط کد رو هم به Constructor کلاس آداپتور اضافه کنید:
this.mydata = new mydatabase(act.getApplicationContext());

توصیه می کنم خوانایی کدهاتون رو بیشتر کنید، دیباگ کردن کدهایی که منظم نیستن خیلی سخته.

meysam jahedi
یک شنبه 11 آبان 1393, 15:03 عصر
خب شما در آداپتور از کلاس mydatabase استفاده کردید بدون اینکه Initializeش کنید. به همین دلیل بهتون خطا میده میده چون این شئ Null هست و شما سعی می کنید متد getWriteableDatabase رو از این شئ صدا بزنید.

منظورتون از Initialize چیه ؟ چطور انجام میشه

خط کد رو هم به Constructor کلاس آداپتور اضافه کنید:
این رو هم نمیدونم :خجالت:

Nevercom
یک شنبه 11 آبان 1393, 15:43 عصر
خب توصیه می کنم اصول ابتدایی که البته بسیار ساده هستن رو حتماً مطالعه کنید، ابزارهای بسیار ازشمندی توسط برنامه نویس ها ایجاد شدن که به بهتر کردن برنامه هاتون و آسونتر کردن کار شما کمک بسیاری می کنن و اگر از اصول اولیه غافل بشید، این ها رو از دست خواهید داد.

this.mydata = new mydatabase(act.getApplicationContext());
در این خط با عملگر new به مقدار mydata یک مقدار اولیه دادیم، درواقع داریم میگیم متغیر mydata الان یک از جنس کلاس mydatabase هست و مهمتر از اون به این جنس یک خاصیت دادیم، Initialize به معنای راه اندازی اولیه هست.
بعد از اینکه به این متغیر مقدار دادیم، می تونیم از متد ها و خاصیت هایی مه براش تعریف کردیم استفاده کنیم.

Constructor یا سازنده، متدی در کلاس هست که همنام با نام کلاس هست، وقتی کلاسی رو با عملگر new راه اندازی (Initialize) می کنیم، این متد صدا زده میشه.
برای کلاس MyAdapter، سازنده ی کلاس این متد هست:

public MyAdapter (Activity act, String[] id,String[] names,String[] pgcount,String[] alaghe,int[]kod){
a=act;
this.namearray=names;
this.familyarray=pgcount;
this.idarray=id;
this.FAV=alaghe;
this.kodd=kod;
}

کدی که گفتم رو به خط آخر این متد اضافه کنید.

meysam jahedi
یک شنبه 11 آبان 1393, 16:06 عصر
کدی که گفتم رو به خط آخر این متد اضافه کنید.

متاسفانه بازم همون فورس کلوز و خطاهای زیر :



11-02 13:14:13.020: E/AndroidRuntime(2465): FATAL EXCEPTION: main
11-02 13:14:13.020: E/AndroidRuntime(2465): java.lang.NullPointerException
11-02 13:14:13.020: E/AndroidRuntime(2465): at com.meysam.malgoritm.MyAdapter$1.onClick(MyAdapter .java:86)
11-02 13:14:13.020: E/AndroidRuntime(2465): at android.view.View.performClick(View.java:3511)
11-02 13:14:13.020: E/AndroidRuntime(2465): at android.view.View$PerformClick.run(View.java:14105 )
11-02 13:14:13.020: E/AndroidRuntime(2465): at android.os.Handler.handleCallback(Handler.java:605 )
11-02 13:14:13.020: E/AndroidRuntime(2465): at android.os.Handler.dispatchMessage(Handler.java:92 )
11-02 13:14:13.020: E/AndroidRuntime(2465): at android.os.Looper.loop(Looper.java:137)
11-02 13:14:13.020: E/AndroidRuntime(2465): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
11-02 13:14:13.020: E/AndroidRuntime(2465): at java.lang.reflect.Method.invokeNative(Native Method)
11-02 13:14:13.020: E/AndroidRuntime(2465): at java.lang.reflect.Method.invoke(Method.java:511)
11-02 13:14:13.020: E/AndroidRuntime(2465): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
11-02 13:14:13.020: E/AndroidRuntime(2465): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
11-02 13:14:13.020: E/AndroidRuntime(2465): at dalvik.system.NativeStart.main(Native Method)

Nevercom
یک شنبه 11 آبان 1393, 16:31 عصر
قبل از اینکه پاسخ بدم، تستش کردم.
اگر کارهایی که گفتم انجام داده باشید مشکلی پیش نمیاد.

کد تغییر یافته رو پیوست کردم.

ضمن اینکه از تنظیمات پروژه مسیر کتابخانه ی appcompat رو مناسب با سیستم خودتون تغییر بدید.

meysam jahedi
یک شنبه 11 آبان 1393, 17:09 عصر
پروژه رو ایمپورت کردم اما کلی اس مسیرهارو با خط قرمز نشون میده

meysam jahedi
یک شنبه 11 آبان 1393, 17:38 عصر
ای بابا ، باز یه مشکل جدید اومد ، نمیدونم چرا پوشه ای رو که کل برنامه توش بود رو بردم تو یه درایو دیگه حالا که Emport میکنمش کلی علامت ضربدر قرمز میاد رو پوشه های داخلی محیط Eclpse پروژه

meysam jahedi
یک شنبه 11 آبان 1393, 18:46 عصر
جناب Nevercom دمت گرم:لبخند::بوس::بوس:

meysam jahedi
یک شنبه 11 آبان 1393, 20:47 عصر
اگز در قسمت
fav.setOnClickListener(new OnClickListener() {
بخوایم با تبدیل 1 به 0 از لیست علاقمندی ها حذف کنیم ، چطور میتونیم به طور همزمان لیست ویو رو بروز کنیم ؟ چطور میشه تو خود آداپتر دوباره آداپتر فراخوانی بشه ?