۱۳۹۵/۰۵/۰۷, ۰۱:۲۶ ب.ظ
(۱۳۹۵/۰۵/۰۷, ۰۱:۲۲ ب.ظ)klike نوشته:و بعد در کلاس اکتیویتی مورد نظرم فرا خوانی کردم . ولی موقع اجرا ارور میده (length : 0 - index : 0)(۱۳۹۵/۰۵/۰۶, ۰۸:۲۰ ب.ظ)admin نوشته:من ابتدا یک کلاس جدا گانه برای لیست ویو سفارشیم ساختم که کد هاش بصورت زیر :(۱۳۹۵/۰۵/۰۶, ۱۲:۵۳ ب.ظ)klike نوشته: کد های کامل لیست ویو سفارشی
با تشکر از مدیریت
منظور بنده این بود که کدها را درج کنید (درج بخش های مهم آنها به صورت بلوک کد) تا فردی که موضوع را می خواند، نگاهی هم به کدها بیندازد و اگر موردی به ذهنش رسید، آن را تذکر بدهد.
معمولا فایل ها توسط کاربران دانلود نمی شوند.
کد:package com.Ehsan.timer;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomList extends ArrayAdapter<String>{
private final Activity context;
private final String[] roz;
private final String[] tar;
private final String[] time;
private final String[] mony;
private final Integer[] imageId;
public CustomList(Activity context,
String[] roz,String[] tar,String[] time,String[] mony, Integer[] imageId) {
super(context, R.layout.activity_search, roz);
this.context = context;
this.roz = roz;
this.tar = tar;
this.time = time;
this.mony = mony;
this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.activity_search, null, true);
TextView txtday = (TextView) rowView.findViewById(R.id.lbl_roz);
TextView txtdates = (TextView) rowView.findViewById(R.id.lbl_date);
TextView txttimes = (TextView) rowView.findViewById(R.id.lbl_times);
TextView txtmoneys = (TextView) rowView.findViewById(R.id.lbl_moneys);
ImageView imageView = (ImageView) rowView.findViewById(R.id.picitem);
txtday.setText(roz[position]);
txtdates.setText(tar[position]);
txttimes.setText(time[position]);
txtmoneys.setText(mony[position]);
imageView.setImageResource(imageId[position]);
return rowView;
}
}
این هم کد های کلاس ایکتیویتی
کد:
package com.Ehsan.timer;
import java.util.ArrayList;
import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.database.Cursor;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
@SuppressLint("NewApi") public class Search extends Activity {
private ListView listView;
private ArrayList<String> list;
DATABASEME rdbr;
String[] lbl0 = {};
String[] lbl1 = {};
String[] lbl2 = {};
String[] lbl3 = {};
Integer[] img = {};
@TargetApi(Build.VERSION_CODES.HONEYCOMB) @SuppressLint("NewApi") @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
listView=(ListView) findViewById(R.id.listboxx);
rdbr=new DATABASEME(getBaseContext());
rdbr.open();
Cursor c=rdbr.getall();
String TARIKH,ZAMAN,POL;
try
{
if(c.moveToFirst())
{
do
{
TARIKH=c.getString(c.getColumnIndex("TARIKH"));
ZAMAN=c.getString(c.getColumnIndex("MAJMOE_SAAT"));
POL=c.getString(c.getColumnIndex("KARKERD"));
String[] rozz = TARIKH.split("/");
lbl0[lbl0.length] = rozz[2];
lbl1[lbl1.length] = TARIKH;
lbl2[lbl2.length] = ZAMAN;
lbl3[lbl3.length] = POL;
img[img.length] = R.drawable.web;
}while(c.moveToNext());
}
else
{
Toast.makeText(getApplicationContext(), "هیچ رکوردی موجود نیست", Toast.LENGTH_SHORT).show();
}
}catch(Exception e)
{
Toast.makeText(getApplicationContext(), " خطا : " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
rdbr.close();
//اینجا آیتم های لیست ویو رو نمایش میرم
CustomList adapter = new
CustomList(Search.this,lbl0,lbl1,lbl2,lbl3,img);
listView.setAdapter(adapter);
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> a, View v, int position, long id) {
// TODO Auto-generated method stub
String numit = list.get(position);
rdbr=new DATABASEME(getBaseContext());
rdbr.open();
try
{
Cursor c=rdbr.Getitm(numit, null);
String MAJMOE_SAAT,KARKERD;
if(c.moveToFirst())
{
do
{
MAJMOE_SAAT=c.getString(c.getColumnIndex("MAJMOE_SAAT"));
KARKERD=c.getString(c.getColumnIndex("KARKERD"));
//تعریف ایتم های لیست دیالوگ
final CharSequence[] items = {"مجموع ساعات : " + MAJMOE_SAAT, "کارکرد : "+
KARKERD + " تومان"};
//ساخت یک ذیالوگ
AlertDialog.Builder builder = new AlertDialog.Builder(Search.this);
builder.setTitle("جزئیات");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
}
});
//قابل نمایش کرد الرت دیالوگ
AlertDialog alert = builder.create();
alert.show();
}while(c.moveToNext());//حرکت کورس به جدول بعدی.
}
else
{
Toast.makeText(getApplicationContext(), "هیچ رکوردی موجود نیست", Toast.LENGTH_SHORT).show();
}
}catch(Exception e)
{
Toast.makeText(getApplicationContext(), "خطا : "+e.getMessage(), Toast.LENGTH_SHORT).show();
}
rdbr.close();
return false;
}
});
//ActionBar
Typeface kamran = Typeface.createFromAsset(getAssets(), "font/BKAMRANB.TTF");
ActionBar mActionBar = getActionBar();
mActionBar.setDisplayShowHomeEnabled(false);
mActionBar.setDisplayShowTitleEnabled(false);
LayoutInflater mInflater = LayoutInflater.from(this);
View mCustomView = mInflater.inflate(R.layout.actionbar, null);
TextView title = (TextView) mCustomView.findViewById(R.id.title);
title.setTypeface(kamran);
title.setText("جستجو");
title.setTextSize(22);
ImageView menu = (ImageView) mCustomView.findViewById(R.id.menubtn);
menu.setImageResource(R.drawable.previousbtn);
menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish();
}
});
mActionBar.setCustomView(mCustomView);
mActionBar.setDisplayShowCustomEnabled(true);
//ActionBar
}
}