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