بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
استخراج محتوی متن داستان ها از دیتابیس و ذخیره در String( دوستان خواهشا راهنمایی کنید )
ممنونم میشم راهنمایی کنید ، با این تابع مقدار فیلد 2 که متن های داستانم توشه ، فراخونی میشه
public String namayesh_matn (String table,String season,String name,int page){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' and name='"+name+"' and page="+page,null);
Cursor.moveToFirst();
String save = Cursor.getString(2);
return save;
}
میخوام در اکتیویتی مربوطه به متن داستان که کدهای زیر رو داره :
public class matn_asli_dastan extends Activity{
private LinearLayout ll ;
private database db;
private Button btn_next;
private Button btn_back;
private TextView txt_show_pages;
private TextView txt_text;
private TextView txt_title;
private String season;
private String name;
private int page1;
private int page2=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.matn_asli_dastan);
db = new database(this);
ll=(LinearLayout)findViewById(R.id.myll);
btn_next = (Button) findViewById(R.id.btn_next);
btn_back = (Button) findViewById(R.id.btn_back);
txt_show_pages = (TextView) findViewById(R.id.txt_show_pages);
txt_text = (TextView) findViewById(R.id.txt_text);
txt_title = (TextView) findViewById(R.id.txt_title);
Bundle ex = getIntent().getExtras();
season = ex.getString("season");
name = ex.getString("name");
page1 = Integer.parseInt(ex.getString("page"));
txt_text.setTypeface(MainActivity.font);
txt_text.setTextSize(MainActivity.size);
txt_text.setLineSpacing(MainActivity.space, 1);
txt_show_pages.setTypeface(MainActivity.font);
Typeface titr = Typeface.createFromAsset(getAssets(), "font/titr.ttf");
txt_title.setTypeface(titr);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.main_txt_layout);
if (MainActivity.mood.equals("day")) {
Resources res = getResources();
Drawable dr = res.getDrawable(R.drawable.light);
rl.setBackgroundDrawable(dr);
txt_text.setTextColor(Color.BLACK);
txt_title.setTextColor(Color.BLACK);
txt_show_pages.setTextColor(Color.BLACK);
}else {
Resources res = getResources();
Drawable dr = res.getDrawable(R.drawable.dark);
rl.setBackgroundDrawable(dr);
txt_text.setTextColor(Color.WHITE);
txt_title.setTextColor(Color.WHITE);
txt_show_pages.setTextColor(Color.WHITE);
}
loader(season, name, page2);
btn_next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(page1==page2){
}else{
page2++;
loader(season, name, page2);
}
}
});
btn_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(page2==1){
}else{
page2--;
loader(season, name, page2);
}
}
});
}
private void loader(String season,String Name,int page3){
db.open();
txt_title.setText(name);
txt_text.setText(db.namayesh_matn("datastorys", season, Name, page3));
txt_show_pages.setText("����" + page2 +" �� " + page1);
db.close();
}
متن کل داستان رو بخونم ، و هر جا که مثلا <imgx.png> رسید یا تگ های دیگه که براش تعریف کردم ، بره از پوشه assets تصویر متناظر با اون رو لود کنه جایگزین تگ مورد نظر بکنه ، با این متد متن رو میخونه :
ll=(LinearLayout)findViewById(R.id.myll);
String text = "text"; // در این قسمت باید محتوی کل متن داستان ها ذخیره بشه //
int c1=0,c2=0,c3=0;
for(int i = 0;i<text.length();i++) {
if(text.charAt(i)=='<') {
c2=i;
ctext(text.substring(c1,c2));
}
if(text.charAt(i)=='>') {
c3=i;
cimg(text.substring(c2+1,c3));
c1=i+1;
}
}
/*
ctext("text1");
cimg("img02.png");
*/
}
private void ctext ( String text){
TextView tv= new TextView(Tasvir.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.setMargins(10, 10, 10, 10);
tv.setPadding(30, 10, 30, 10);
lp.gravity=Gravity.CENTER;
tv.setText(text);
ll.addView(tv,lp);
}
private void cimg ( String name){
ImageView img = new ImageView (Tasvir.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(200,200);
AssetManager am = getAssets();
InputStream is = null;
try {
is = am.open("image/"+name);
} catch (IOException e) {
e.printStackTrace();
}
Bitmap bi =BitmapFactory.decodeStream(is);
img.setImageBitmap(bi);
lp.gravity=Gravity.CENTER;
ll.addView(img,lp);
}
}
حالا در قسمت مورد نظر من چطوری کل متن داستان رو از دیتابیس بخونم و در یک string ذخیره کنم ، که بتونم با تابع بعدی متن رو بخونم و تگ ها رو پیدا کرده وبا تصویر مورد نظر جایگزین کنم ؟ ممنونم
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
محبوبه
11 سال پیش
0
0
در قسمت String من این کد رو نوشتم به عبارتی محتوای داخلtxt_text رو در یک string دخیره کردم به این شکل :
String input = txt_text.getText().toString();
اما ارور
CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
میده ؟ لطفا راهنمایی کنید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .