hamedjj
شنبه 27 اردیبهشت 1393, 01:45 صبح
سلام
کلاس DownloadManager چطور arrayadapter در لیست ویو پیاده سازی میشه؟
تو بعضی قسمت ها ارور میگیره.
مثلا :
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
کلاس MyAdapter :
public class MyAdapter extends ArrayAdapter<String>{
private final Context context;
private final String[] values;
Context b;
public MyAdapter(Context context, String[] values) {
super(context, R.layout.item, values);
this.context = context;
this.values = values;
b= (Context) context;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_S ERVICE);
View rootview = inflater.inflate(R.layout.item, parent, false);
TextView tv1 = (TextView)rootview.findViewById(R.id.txt_name);
TextView tv2 = (TextView)rootview.findViewById(R.id.txt_numer);
ImageView img = (ImageView) rootview.findViewById(R.id.imageView1);
CheckBox repeatChkBx = (CheckBox) rootview.findViewById(R.id.favorite_check);
TextView id = (TextView)rootview.findViewById(R.id.id);
final Cursor cur = Database(position);
if (cur != null) {
cur.moveToFirst();}
id.setText(String.valueOf(cur.getString(cur.getCol umnIndex("like"))));
id.setVisibility(View.GONE);
String me = cur.getString(cur.getColumnIndex("like"));
if (me.equals("yes")) {
repeatChkBx.setChecked(true);
}
tv1.setText(cur.getString(cur.getColumnIndex("name")));
tv2.setText(cur.getString(cur.getColumnIndex("category")));
repeatChkBx.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
CheckBox chk = (CheckBox) v.findViewById(R.id.favorite_check);
MyDatabase MyDatabase = new MyDatabase(context);
SQLiteDatabase mydb = MyDatabase.getWritableDatabase();
if (chk.isChecked()) {
ContentValues cv = new ContentValues();
cv.put("like", "yes");
mydb.update("list", cv, "id ="+ values[position], null);
}else {
ContentValues cv = new ContentValues();
cv.put("like", "no");
mydb.update("list", cv, "id ="+ values[position], null);
}
}
});
return rootview;
}
public Cursor Database(final int position) {
MyDatabase MyDatabase = new MyDatabase(context);
SQLiteDatabase mydb = MyDatabase.getReadableDatabase();
Cursor cur = mydb.rawQuery("SELECT name,category,like,url FROM list WHERE id='"+values[position]+"'", null);
return cur;
}
}
کلاس MainActivity :
public class MainActivity extends ActionBarActivity {
public ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyDatabase MyDatabase = new MyDatabase(this);
SQLiteDatabase mydb = MyDatabase.getReadableDatabase();
Cursor c = mydb.rawQuery("select id from list" , null);
String[] array = new String[c.getCount()];
int i = 0;
if (c.moveToFirst()) {
do {
try {
array[i] = c.getString(c.getColumnIndex("id"));
i++;
} catch (Exception e) {
e.printStackTrace();
}
} while (c.moveToNext());
}
ListView list = (ListView) findViewById(R.id.listView1);
list.setAdapter(new MyAdapter(this, array));
}
}
کلاس DownloadManager چطور arrayadapter در لیست ویو پیاده سازی میشه؟
تو بعضی قسمت ها ارور میگیره.
مثلا :
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
کلاس MyAdapter :
public class MyAdapter extends ArrayAdapter<String>{
private final Context context;
private final String[] values;
Context b;
public MyAdapter(Context context, String[] values) {
super(context, R.layout.item, values);
this.context = context;
this.values = values;
b= (Context) context;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_S ERVICE);
View rootview = inflater.inflate(R.layout.item, parent, false);
TextView tv1 = (TextView)rootview.findViewById(R.id.txt_name);
TextView tv2 = (TextView)rootview.findViewById(R.id.txt_numer);
ImageView img = (ImageView) rootview.findViewById(R.id.imageView1);
CheckBox repeatChkBx = (CheckBox) rootview.findViewById(R.id.favorite_check);
TextView id = (TextView)rootview.findViewById(R.id.id);
final Cursor cur = Database(position);
if (cur != null) {
cur.moveToFirst();}
id.setText(String.valueOf(cur.getString(cur.getCol umnIndex("like"))));
id.setVisibility(View.GONE);
String me = cur.getString(cur.getColumnIndex("like"));
if (me.equals("yes")) {
repeatChkBx.setChecked(true);
}
tv1.setText(cur.getString(cur.getColumnIndex("name")));
tv2.setText(cur.getString(cur.getColumnIndex("category")));
repeatChkBx.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
CheckBox chk = (CheckBox) v.findViewById(R.id.favorite_check);
MyDatabase MyDatabase = new MyDatabase(context);
SQLiteDatabase mydb = MyDatabase.getWritableDatabase();
if (chk.isChecked()) {
ContentValues cv = new ContentValues();
cv.put("like", "yes");
mydb.update("list", cv, "id ="+ values[position], null);
}else {
ContentValues cv = new ContentValues();
cv.put("like", "no");
mydb.update("list", cv, "id ="+ values[position], null);
}
}
});
return rootview;
}
public Cursor Database(final int position) {
MyDatabase MyDatabase = new MyDatabase(context);
SQLiteDatabase mydb = MyDatabase.getReadableDatabase();
Cursor cur = mydb.rawQuery("SELECT name,category,like,url FROM list WHERE id='"+values[position]+"'", null);
return cur;
}
}
کلاس MainActivity :
public class MainActivity extends ActionBarActivity {
public ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyDatabase MyDatabase = new MyDatabase(this);
SQLiteDatabase mydb = MyDatabase.getReadableDatabase();
Cursor c = mydb.rawQuery("select id from list" , null);
String[] array = new String[c.getCount()];
int i = 0;
if (c.moveToFirst()) {
do {
try {
array[i] = c.getString(c.getColumnIndex("id"));
i++;
} catch (Exception e) {
e.printStackTrace();
}
} while (c.moveToNext());
}
ListView list = (ListView) findViewById(R.id.listView1);
list.setAdapter(new MyAdapter(this, array));
}
}