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

رفتن به اکتیویتی مورد نظر از طریق موقعیت آیتم لیست ویو؟

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

چطور میتونم در اکتیویتی علاقه مندی با کلیک به ایتم های لیست ویو به اکتیویتی خودش برم؟اینم سورس ها

 //این اکتیویتی لیست ویو که با کلیک بر روی هر آیتم صفحه خودش باز میشه 
public class ActivityList extends Activity {

private MyDatabase MyDatabase;
public ListView listview;
SQLiteDatabase mydb;
public MyAdapter adapter;
int ids[];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (ListView) findViewById(R.id.listview1);
listview.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {




switch (position)
{
case 0:

ReadActivity.name = 1;
Intent newActivity = new Intent(ActivityList.this, ReadActivity.class);
startActivity(newActivity);
break;
case 1:
ReadActivity.name = 2;
Intent newActivity2 = new Intent(ActivityList.this, ReadActivity.class);
startActivity(newActivity2);
break;
case 2:

ReadActivity.name = 3;
Intent newActivity3 = new Intent(ActivityList.this, ReadActivity.class);
startActivity(newActivity3);

break;
case 3:
ReadActivity.name = 4;
Intent newActivity4 = new Intent(ActivityList.this, ReadActivity.class);
startActivity(newActivity4);
break;
case 4:

ReadActivity.name = 5;
Intent newActivity5 = new Intent(ActivityList.this, ReadActivity.class);
startActivity(newActivity5);

break;
case 5:
ReadActivity.name = 6;
Intent newActivity6 = new Intent(ActivityList.this, ReadActivity.class);
startActivity(newActivity6);
break;



}



}
});

MyDatabase = new MyDatabase(this);
mydb = MyDatabase.getReadableDatabase();
Cursor c = mydb.rawQuery("select id,name,category,like from list", null);
int ids[] = new int[c.getCount()];
String names[] = new String[c.getCount()];
String cats[] = new String[c.getCount()];
String likes[] = new String[c.getCount()];
int i = 0;
if(c.moveToFirst()) {
do {
ids[i] = c.getInt(0);

names[i] = c.getString(1);
cats[i] = c.getString(2);
likes[i] = c.getString(3);
i++;
} while (c.moveToNext());
c.close();
mydb.close();
}


MyAdapter adapter = new MyAdapter(this, names, cats, likes, ids);
listview.setAdapter(adapter);
}

}
// اینم اکتیویتی علاقه مندی که نمیدونم چطور موقعیت هر آیتم لیست ویو رو بگیرم و به صفحه خودش برم
public class Activity_FavList extends Activity {

private MyDatabase MyDatabase;
public ListView listview;
SQLiteDatabase mydb;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fav_list);
listview = (ListView) findViewById(R.id.listview1);
listview.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {




}
});

MyDatabase = new MyDatabase(this);
mydb = MyDatabase.getReadableDatabase();
Cursor c = mydb.rawQuery("select * FROM list WHERE like ='yes'", null);
int ids[] = new int[c.getCount()];
String names[] = new String[c.getCount()];
String cats[] = new String[c.getCount()];
String likes[] = new String[c.getCount()];
int i = 0;
if(c.moveToFirst()) {
do {
ids[i] = c.getInt(0);
names[i] = c.getString(1);
cats[i] = c.getString(2);
likes[i] = c.getString(3);
i++;
} while (c.moveToNext());
c.close();
mydb.close();
}


MyAdapter adapter = new MyAdapter(this, names, cats, likes, ids);
listview.setAdapter(adapter);
}
}
// اینم کلاس my Addapter
public class MyAdapter extends ArrayAdapter<String>{

private final Activity context;
String names[];
String cats[];
String likes[];
int ids[];

public MyAdapter(Activity context,String names[], String cats[], String likes[], int ids[]) {
super(context, R.layout.item, names);
this.context = context;
this.names = names;
this.cats = cats;
this.likes = likes;
this.ids = ids;
}

@Override
public boolean isEnabled(int position) {
// TODO Auto-generated method stub
return true;
}

@Override
public View getView(final int position, View view, ViewGroup parent) {

LayoutInflater inflater = context.getLayoutInflater();
View rowView = inflater.inflate(R.layout.item, null, true);
TextView txtName = (TextView) rowView.findViewById(R.id.txt_name);
TextView txtCat = (TextView) rowView.findViewById(R.id.txt_numer);
CheckBox favotite = (CheckBox) rowView.findViewById(R.id.favorite_check);
txtName.setText(names[position]);
txtCat.setText(cats[position]);
if(likes[position].equals("no")) {
favotite.setChecked(false);
} else if (likes[position].equals("yes")) {
favotite.setChecked(true);
}
Log.i("tag", "likes :"+likes[position]);
favotite.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
MyDatabase MyDatabase = new MyDatabase(context);
SQLiteDatabase mydb = MyDatabase.getWritableDatabase();
if(isChecked == true) {
mydb.execSQL("update list set like = 'yes' where id = " + ids[position]);
} else {
mydb.execSQL("update list set like = 'no' where id = " + ids[position]);
}
mydb.close();
}
});

return rowView;
}
}



0 0
سورس کامل لینک (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
رضا  10 سال پیش
+1 0

سلام فکر کنم روشی که انتخاب کردی زیاد درست نباشه . چون اگه دیتابیس شما 1000 تا row  داشته باشه نمیدونم میخوای چیکارش کنی ؟

بنظر من اگه دوست داری کار با دیتابیس (مخصوصا برای نوشتن کتاب) رو یاد بگیری ی سر به این لینک بزن

http://www.sourcebaran.com/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D9%81%D8%A7%D8%B1%D8%B3.html

0 0
اره کاره اشتباهی کردم میخواستم حین این که یه برنامه ای بسازم چیزی هم یاد بگیرم الان که برنامم رو به اتمام میخوام علاقه مندی بهش اضافه کنم کارم سخت شده (10 سال پیش)
0 0
با این بلاخره تونستم مشکلمو حل کنم تا حدودی String text = parent.getItemAtPosition(position).toString(); (10 سال پیش)

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