بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در فراخوانی تابع
خیلی داره وقتمو میگره
میخوام با تاچ کردن، رو دکمه بره و دیالوگ رو فراخونی کنه
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
if (holder instanceof OriginalViewHolder) {
final Product p = items.get(position);
OriginalViewHolder vItem = (OriginalViewHolder) holder;
vItem.name.setText(p.name);
vItem.price.setText(p.price.longValue() + " " + sharedPref.getInfoData().currency);
// TEST offer_price
vItem.offer_price.setText(Math.round(p.price.longValue() * 1.2) + " " + sharedPref.getInfoData().currency);
vItem.offer_price.setPaintFlags(vItem.offer_price.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG );
Log.i("..ooo..", vItem.offer_persent.toString());
Tools.displayImageOriginal(ctx, vItem.image, Constant.getURLimgProduct(p.image));
// مربو به دیدن جزئیات محصول
vItem.lyt_parent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(view, p, position);
}
}
});
// مربوط به دکمه بره تو سبد خرید
vItem.add_carts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mOnItemClickListener != null) {
// اینجا باید کدی بنویسم که دیالوگ باز بشه
}
}
});
} else {
((ProgressViewHolder) holder).progressBar.setIndeterminate(true);
}
}
کدهای دیالوگ
private void dialogCartAction(final Cart model) {
final Dialog dialog = new Dialog(ActivityShoppingCart.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // before
dialog.setContentView(R.layout.dialog_cart_option);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
((TextView) dialog.findViewById(R.id.title)).setText(model.product_name);
((TextView) dialog.findViewById(R.id.stock)).setText(getString(R.string.stock) + model.stock);
final TextView qty = (TextView) dialog.findViewById(R.id.quantity);
qty.setText(model.amount + "");
((ImageView) dialog.findViewById(R.id.img_decrease)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (model.amount > 1) {
model.amount = model.amount - 1;
qty.setText(model.amount + "");
}
}
});
((ImageView) dialog.findViewById(R.id.img_increase)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (model.amount < model.stock) {
model.amount = model.amount + 1;
qty.setText(model.amount + "");
}
}
});
((Button) dialog.findViewById(R.id.bt_save)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
db.saveCart(model);
displayData();
dialog.dismiss();
}
});
((Button) dialog.findViewById(R.id.bt_remove)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
db.deleteActiveCart(model.product_id);
displayData();
dialog.dismiss();
}
});
dialog.show();
dialog.getWindow().setAttributes(lp);
}
public void dialogDeleteConfirmation() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.title_delete_confirm);
builder.setMessage(getString(R.string.content_delete_confirm) + getString(R.string.title_activity_cart));
builder.setPositiveButton(R.string.YES, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface di, int i) {
di.dismiss();
db.deleteActiveCart();
onResume();
Snackbar.make(parent_view, R.string.delete_success, Snackbar.LENGTH_SHORT).show();
}
});
builder.setNegativeButton(R.string.CANCEL, null);
builder.show();
}


برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
jbRhmNqb
8 سال پیش
0
0
اینم هست؛ نوشته بود یه اکتیویتی مخصوص دیالوگ بسازین و وقتی میخواین دیالوگ اجرا بشه اون اکتیویتی رو فراخوانی کنین؛ این کد منیفست:
<activity android:name=".DialogActivity"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true" android:taskAffinity=""
android:launchMode="singleInstance">
</activity>
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
final Dialog dialog = new Dialog(ActivityShoppingCart.this);وقتی که فراخونی میکنی اون اکتیویتی باز نیست که کانتکسش رو بخونه و به این خط کد ارور میده (8 سال پیش)