apriliyaa

مشکل در لیست ویو و گرفتن اطلاعات از دیتابیس

3 ارسال در این موضوع قرار دارد

سلام 

یه مشکل در لیست ویو دارم که کلا شرح میدم دوستان اگه نظری دارند خوشحال میشم بشنوم و عمل کنم !

برنامه متشکل از دو لیست ویو هست که لیست ویو دوم زیرمجموعه ی آیتم های لیست ویو اول هست.

مشکل از اونجا شروع میشه که هر ایتمی از لیست ویو شماره یک انتخاب بشه، زیرمجموعه های اون ها هم شبیه هم در میاد به تصویر زیر توجه کنید :

من وقتی کتاب اول رو انتخاب می کنم :

1967314447575797778_1111111.png

لیست داستان ها نشون داده میشه :

15609144475758029957_222222.png

در ادامه اگه کتاب دوم رو انتخاب کنم باز لیست تمام داستان ها نشون داده میشه در حالی که من در نظر دارم :

وقتی کتاب اول انتخاب میشه در لیست داستان ها، داستان های شماره 1و 2 و3 نشون داده بشه و وقتی کتاب دوم رو انتخاب می کنم داستان های 4 و 5 و 6 نشون داده بشه و الی آخر ....

اطلاعات همگی در دیتابیس sqlite ذخیره شده و از اونجا فراخونی میشه 

اگه بتونید کمک کنید حلش کنم ممنون میشم 

این کد های مربوط به لیست ویو اوله:

package com.quranmp3;

import java.io.File;

import java.sql.Date;

import java.text.DateFormat;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import android.app.Activity;

import android.app.Fragment;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;

public class ListFolder extends Fragment {

private File currentDir;

private FileArrayAdapter adapter;

private View view;

MainActivity _FragmentActivity = null;

@Override

public void onAttach(Activity activity) {

super.onAttach(activity);

try {

_FragmentActivity = (MainActivity) activity;

} catch (Exception e) {

_FragmentActivity = null;

}

private ListView lv_reciters;

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

view = inflater.inflate(R.layout.ly_audios_list, container, false);

lv_reciters = (ListView) view.findViewById(R.id.lv_reciters);

lv_reciters.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> adapterView, View aView,

int position, long arg3) {

Albumb o = adapter.getItem(position);

if (o.getImage().equalsIgnoreCase("play_list_fill")

|| o.getImage().equalsIgnoreCase("ic_action_back")) {

currentDir = new File(o.getPath());

level = 2;

if (o.getImage().equalsIgnoreCase("ic_action_back"))

level = 1;

fill(currentDir);

}

}); 

currentDir = new File("/sdcard/MP3Quran"); 

fill(currentDir);

return view;

}

int level = 1;

private void fill(File f) {

File[] dirs = f.listFiles();

// this.setTitle("Current Dir: " + f.getName());

List dir = new ArrayList();

List fls = new ArrayList();

try {

for (File ff : dirs) {

String name = ff.getName();

Date lastModDate = new Date(ff.lastModified());

DateFormat formater = DateFormat.getDateTimeInstance();

String date_modify = formater.format(lastModDate);

/*

 * Note: Remove this name.equalsIgnoreCase("Personal" if u want

 * to list all ur sd card file and folder &&

 * name.equalsIgnoreCase("Personal")

 */

if (ff.isDirectory()) {

File[] fbuf = ff.listFiles();

int buf = 0;

if (fbuf != null) {

buf = fbuf.length;

} else

buf = 0;

String num_item = String.valueOf(buf);

if (buf == 0)

num_item = num_item + " item";

else

num_item = num_item + " items";

// String formated = lastModDate.toString();

if (level == 1)

dir.add(new Albumb(ff.getName(), num_item, date_modify,

ff.getAbsolutePath(), "play_list_fill"));

} else {

/*

 * Note: Remove this f.getName().equalsIgnoreCase("Personal"

 * if u want to list all ur sd card file and folder if

 * (f.getName().equalsIgnoreCase( "Personal")) {}

 */

if (level != 1)

fls.add(new Albumb(ff.getName(), ff.length() + " Byte",

date_modify, ff.getAbsolutePath(), "mp3_icon"));

}

}

} catch (Exception e) {

}

Collections.sort(dir);

Collections.sort(fls);  

dir.addAll(fls);

if (!f.getName().equalsIgnoreCase("MP3Quran")) {

dir.add(0, new Albumb("..", "Parent Directory", "", f.getParent(),

"ic_action_back"));

level = 1;

}

adapter = new FileArrayAdapter(_FragmentActivity, R.layout.file_view,

dir);

lv_reciters.setAdapter(adapter);

// this.setListAdapter(adapter);

}

}

اینم دومین لیست ویو :

package com.quranmp3;

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.app.Fragment;

import android.app.FragmentManager;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.text.format.Time;

import android.view.LayoutInflater;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.ImageView;

import android.widget.RelativeLayout;

import android.widget.TextView;

import com.quranmp3.controllers.AudioListManager;

import com.quranmp3.controllers.SharedPreferencesManager;

import com.quranmp3.model.AudioClass;

import com.quranmp3.utils.GlobalConfig;

public class MainFragment extends Fragment {

MainActivity _FragmentActivity;

AudioClass audioClass = null;

public MainFragment() {

}

@Override

public void onAttach(Activity activity) {

super.onAttach(activity);

_FragmentActivity = (MainActivity) activity;

}

@Override

public void onActivityCreated(Bundle savedInstanceState) {

super.onActivityCreated(savedInstanceState);

Fragment _fragment = null;

_fragment = new AdmobFragment();

FragmentManager _fragmentManager = getFragmentManager();

_fragmentManager.beginTransaction()

.add(R.id.admob_container, _fragment).commit();

}

ArrayList> semiChaptersList;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// GlobalConfig.myDbHelper.getRandomContent();

View rootView = inflater.inflate(R.layout.ly_main_fragment, container,

false);

TextView chapter_title = (TextView) rootView

.findViewById(R.id.chapter_title);

Time now = new Time();

now.setToNow();

SharedPreferencesManager sharedPreferencesManager = SharedPreferencesManager

.getInstance(_FragmentActivity);

RelativeLayout rl_today_hadith = (RelativeLayout) rootView

.findViewById(R.id.rl_today_hadith);

rl_today_hadith.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if (audioClass == null) {

AudioListManager audioListManager = AudioListManager

.getInstance();

audioListManager.deletAllSuras();

audioListManager.AddNewSura(audioClass);

audioListManager.setUpdatePlayerStatus(true);

}

if (_FragmentActivity != null)

_FragmentActivity.displayView(1);

// semiChapterManager.SetSemiChaptersList(_FragmentActivity);

}

});

RelativeLayout ry_chapters = (RelativeLayout) rootView

.findViewById(R.id.ry_chapters);

ry_chapters.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

_FragmentActivity.displayView(2);

}

});

RelativeLayout ry_share = (RelativeLayout) rootView

.findViewById(R.id.ry_share);

ry_share.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

_FragmentActivity.displayView(6);

}

});

RelativeLayout rl_buy_now = (RelativeLayout) rootView

.findViewById(R.id.rl_buy_now);

rl_buy_now.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//Intent intent = new Intent(_FragmentActivity,

// PurchaseItemActivity.class);

//_FragmentActivity.startActivityForResult(intent,

// GlobalConfig.REQUEST_PASSPORT_PURCHASE);

}

});

if (sharedPreferencesManager.getBooleanPreferences(

SharedPreferencesManager._no_ads, false)) {

rl_buy_now.setVisibility(View.GONE);

}

rl_buy_now.setVisibility(View.GONE);

RelativeLayout ly_settings = (RelativeLayout) rootView

.findViewById(R.id.ly_settings);

ly_settings.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

_FragmentActivity.displayView(8);

}

});

RelativeLayout ly_read = (RelativeLayout) rootView

.findViewById(R.id.ly_read);

ly_read.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

_FragmentActivity.displayView(1);

}

});

RelativeLayout ry_fav = (RelativeLayout) rootView

.findViewById(R.id.ry_fav);

ry_fav.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

_FragmentActivity.displayView(3);

}

});

AudioListManager audioListManager = AudioListManager.getInstance();

audioClass = audioListManager.getRandomAudioClass();

TextView txt_reciters_name = (TextView) rootView

.findViewById(R.id.txt_reciters_name);

txt_reciters_name.setText(_FragmentActivity.getResources().getString(

R.string.player_verses_pre)

+ " "

+ audioClass.getVerseName()

+ " "

+ _FragmentActivity.getResources().getString(

R.string.player_listen_pre)

+ " "

+ audioClass.getReciterName());

ImageView reciter_icon = (ImageView) rootView

.findViewById(R.id.reciter_icon);

String image = audioClass.getImage().split(".jpg")[0];

Context context = reciter_icon.getContext();

int id = context.getResources().getIdentifier(image, "drawable",

context.getPackageName());

reciter_icon.setImageDrawable(_FragmentActivity.getResources()

.getDrawable(id));

return rootView;

}

}

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

:) سلام

من وقتی میبینم کلا کدها رو کپی کردید اینجا اصلا نگاه نمیکنم

باید دیتابیست رو طوری بسازی که بتونی کوئری بگیری ! یا 2 تا جدول بسازی !

موفق باشید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سورس رو در اختیارتون قرار بدم می تونید کاری براش انجام بدید؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری