Hallo ich habe ein Problem mit Pager-Adapter habe, wo ich nicht Textview aktualisieren, wenn die Schaltfläche Position Code basierend auf geklickt wird unterTextview wird nicht aktualisiert, basierend auf Position innerhalb pageradapter
Dies sind die beiden Tasten in meiner Einzelansicht von pageradapter Klasse.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/plusminuslayout"
android:orientation="horizontal">
<Button
android:id="@+id/decrease"
android:layout_width="0dp"
android:layout_weight="0.3"
android:background="#e2364e"
android:layout_gravity="center"
android:layout_height="25dp"
android:textColor="#ffffff"
android:text="-" />
<TextView
android:id="@+id/integer_number"
android:layout_width="0dp"
android:layout_weight="0.4"
android:gravity="center"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:text="1"
android:textStyle="bold"
android:textSize="20sp" />
<Button
android:id="@+id/increase"
android:layout_width="0dp"
android:layout_weight="0.3"
android:background="#e2364e"
android:layout_gravity="center"
android:layout_height="25dp"
android:textColor="#ffffff"
android:text="+" />
<TextView
android:layout_width="0dp"
android:layout_weight="0.2"
android:gravity="center"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20sp" />
</LinearLayout>
Dies ist der Code innerhalb Instatiateitem() -Methode Textview Wert
holder.increase = (Button) itemView.findViewById(R.id.increase);
holder.decrese = (Button) itemView.findViewById(R.id.decrease);
holder.integerval = (TextView) itemView.findViewById(R.id.integer_number);
holder.increase.setTag(position);
holder.decrese.setTag(position);
holder.integerval.setTag(position);
holder.decrese.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quantity = quantity -1;
updateView(holder,v,position,quantity);
}
});
holder.increase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quantity = quantity + 1;
updateView(holder,v,position,quantity);
}
});
und das ist mein updateview() -Methode
private void updateView(ViewHolder holder,View v, int position,int quantity) {
holder.integerval.setText("" + quantity);
}
Textview ist die Aktualisierung auf dem dritten Seite von pageradapter zu aktualisieren und zufällig erhöht sich dieses Problem für alle Seiten. Jede Hilfe konnte wirklich schätzen.
Dies ist meine komplette Insatiateitem() -Methode
@SuppressLint("InflateParams")
@Override
public Object instantiateItem(final ViewGroup container, final int position) {
try {
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
itemView = inflater.inflate(R.layout.detailspage_new2, container, false);
} catch (InflateException e) {
e.printStackTrace();
}
try {
session = SessionManager.getInstance(context);
holder = new ViewHolder();
holder.txt_offer = (TextView) itemView
.findViewById(R.id.Offer_edittext);
holder.txt_shop = (TextView) itemView
.findViewById(R.id.Shop_edittext);
holder.Name = (TextView) itemView.findViewById(R.id.name);
holder.plusminuslayout = (LinearLayout) itemView.findViewById(R.id.plusminuslayout);
holder.increase = (Button) itemView.findViewById(R.id.increase);
holder.decrese = (Button) itemView.findViewById(R.id.decrease);
holder.integerval = (TextView) itemView.findViewById(R.id.integer_number);
holder.increase.setTag(position);
holder.decrese.setTag(position);
holder.integerval.setTag(position);
holder.decrese.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quantity = quantity -1;
updateView(holder,v,position,quantity);
}
});
holder.increase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quantity = quantity + 1;
updateView(holder,v,position,quantity);
}
});
holder.available = (TextView) itemView.findViewById(R.id.available);
holder.delivery = (TextView) itemView.findViewById(R.id.delivery);
holder.Address = (TextView) itemView.findViewById(R.id.Address);
holder.rat_user = (RatingBar) itemView
.findViewById(R.id.user_ratingbar);
holder.txt_posteddate = (TextView) itemView
.findViewById(R.id.offerPosted_edittext);
holder.offerdescription = (TextView) itemView.findViewById(R.id.offerdescription);
holder.tvphone = (TextView) itemView
.findViewById(R.id.tvphone);
holder.myFab = (FloatingActionButton) itemView.findViewById(R.id.fab);
holder.myReserveList = (FloatingActionButton) itemView.findViewById(R.id.myReserveList);
holder.mapsample = (ImageView) itemView.findViewById(R.id.mapsample);
holder.callimage = (TextView) itemView.findViewById(R.id.callimage);
holder.VName = (LinearLayout) itemView.findViewById(R.id.VName);
holder.viewA = (LinearLayout) itemView.findViewById(R.id.viewA);
holder.listDetails = (ImageView) itemView.findViewById(R.id.listDetails);
holder.backDetails = (ImageView) itemView.findViewById(R.id.backDetails);
holder.viewPager = (ImageView) itemView
.findViewById(R.id.view_pager);
holder.textViewNew = (TextView) itemView
.findViewById(R.id.textViewNew);
holder.actualprice = (TextView) itemView
.findViewById(R.id.actualprice);
holder.offerprice = (TextView) itemView
.findViewById(R.id.offerprice);
holder.fromarea = (TextView) itemView
.findViewById(R.id.fromarea);
holder.toarea = (TextView) itemView
.findViewById(R.id.toarea);
holder.price = (TextView) itemView
.findViewById(R.id.price);
holder.type = (TextView) itemView
.findViewById(R.id.type);
holder.propertytype = (TextView) itemView
.findViewById(R.id.PropertyType);
holder.value = (TextView) itemView
.findViewById(R.id.value);
holder.pricelayout = (LinearLayout) itemView.findViewById(R.id.pricelayout);
holder.fromtolayout = (LinearLayout) itemView.findViewById(R.id.fromtolayout);
holder.travelpricelayout = (LinearLayout) itemView.findViewById(R.id.travelpricelayout);
holder.valuelayout = (LinearLayout) itemView.findViewById(R.id.Valuelayout);
holder.typelayout = (LinearLayout) itemView.findViewById(R.id.typeslayout);
holder.timer = (TextView) itemView.findViewById(R.id.Offer_timer);
FloatingActionButton myFabLocal = null;
FloatingActionButton myReserveLocal;
TextView tv = null;
TextView timerTextView = null;
ImageView viewPagerImage = null;
try {
myFabLocal = holder.myFab;
myReserveLocal = holder.myReserveList;
tv = holder.timer;
timerTextView = holder.textViewNew;
viewPagerImage = holder.viewPager;
} catch (Exception e) {
e.printStackTrace();
}
final LinearLayout viewA = holder.viewA;
myFabLocal.setBackgroundTintList(ColorStateList.valueOf(context.getResources().getColor(R.color.details_paly_green)));
product = products.get(position);
//blobkedmilliseconds = 300000;
if (product.getUserRegisterId().equals(session.getUserRegisterID())) {
holder.myReserveList.setVisibility(View.VISIBLE);
} else {
holder.myReserveList.setVisibility(View.GONE);
}
final ArrayList<String> ImageArrayList = new ArrayList<>();
if (product.getUserRegisterId().equals(session.getUserRegisterID())) {
holder.myFab.setVisibility(View.GONE);
//milliseconds = product.getOfferDifferenceTime() + blobkedmilliseconds;
milliseconds = product.getOfferDifferenceTime();
} else {
holder.myFab.setVisibility(View.VISIBLE);
milliseconds = product.getOfferDifferenceTime();
}
milliseconds = product.getOfferDifferenceTime();
to_latitude = product.getLat();
to_longitude = product.getLng();
holder.tvphone.setText(product.getMobileNumber());
holder.txt_offer.setText(product.getDeal());
holder.Address.setText(product.getAddress());
String avil = product.getAvailable();
String[] parts=avil.split(":");
String available = parts[1];
holder.available.setText("Qty: "+ available);
String delvry = product.getDelivery();
if(delvry.equals("Home Delivery not Available")) {
holder.delivery.setText("NA");
}
else
{
holder.delivery.setText("Free");
}
holder.offerdescription.setText(product.getDescription());
if (product.getOfferDifferenceTime() > 0) {
myFabLocal.setImageDrawable(context.getResources().getDrawable(R.drawable.play));
} else {
myFabLocal.setImageDrawable(context.getResources().getDrawable(R.drawable.list_notify));
}
String ShopName = product.getShopName(); //+ " , " + product.getAreaName();
holder.txt_shop.setText(product.getCategoryName());
holder.Name.setText(ShopName);
holder.txt_posteddate.setText(product.getPostedDate());
final TextView finalTv1 = tv;
final FloatingActionButton finalMyFabLocal = myFabLocal;
final TextView finalTimerTextView1 = timerTextView;
final ImageView finalViewPagerImage = viewPagerImage;
holder.myFab.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
UserListClickEvent(position);
}
private void UserListClickEvent(int position) {
if (session.getRegUserName().equals("User Name")) {
Intent intent = new Intent(context, QuizFragment.class);
context.startActivity(intent);
} else {
//milliseconds = product.getOfferDifferenceTime()+blobkedmilliseconds;
milliseconds = product.getOfferDifferenceTime();
final ListDetails pro = products.get(position);
BlockButtonClick(finalTv1, finalMyFabLocal, finalTimerTextView1, finalViewPagerImage, viewA , pro, "");
products.set(position , pro);
/*if (product.getOfferDifferenceTime() > 0) {
BlockOrNotifyOpportunitiesWS(v, holder, position);
} else {
final ListDetails pro = products.get(position);
DetailsViewpagerIntent(position, pro);
}*/
}
}
});
holder.myReserveList.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(context, ReserveUserListTabsActivity.class);
final ListDetails pro = products.get(position);
i.putExtra("OppId", Integer.parseInt(pro.getOfferID()));
context.startActivity(i);
}
});
holder.mapsample.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent i = new Intent(context,
MapFragmentActivity.class);
MapFragmentActivity.setLat(products.get(position)
.getLat());
MapFragmentActivity.setLng(products.get(position)
.getLng());
MapFragmentActivity.setArea(products.get(position)
.getAreaName());
MapFragmentActivity.setcategory(products.get(position)
.getCategoryName());
PlacesMapActivity
.getNearPlaces(GetAllGooglePlaces.ListItemsData);
context.startActivity(i);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
try {
((Activity) itemView.getContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
String ImageNameStr = product.getImageName1();
final String[] ImageNameArr = ImageNameStr.split(",");
Collections.addAll(ImageArrayList, ImageNameArr);
//Picasso.with(context).load("http://rtrpservice.azurewebsites.net/Images/"+ImageArrayList.get(0)).into(holder.viewPager);
if(!isAirplaneModeOn(context.getApplicationContext())){
//Picasso Code
Picasso.with(context.getApplicationContext()).load("http://rtrpservice.azurewebsites.net/Images/"+ImageArrayList.get(0)).resize(250, 250)
.into(holder.viewPager/*, new Snackbar.Callback() {
@Override
public void onSuccess() {
Log.e("profilepicsucess", "");
}
@Override
public void onError() {
Log.e("profilepicfalse :3", "");
}
}*/);
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
(container).addView(itemView, 0);
} catch (Exception e) {
e.printStackTrace();
}
return itemView;
}
setzen Sie Ihre ** Instatiateitem() ** vollständige Code –
Bitte überprüfen Sie meine Frage aktualisiert @Rahul Sharma –
Set-Tag für Ihre Ansicht und bekommen es auf Schaltfläche anklickt – Piyush