رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

سلام 

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

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

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

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

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 تا جدول بسازی !

موفق باشید

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...