ViewRootImpl: ViewPostImeInputStage processPointer 0 auf OnItemClick der Listview in android
Ich habe eine cart_layout
wie diese:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9"
android:id="@+id/cart_listview"
android:layout_gravity="center_horizontal"
android:background="@color/whiteBg"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="bottom"
android:padding="5dp"
android:gravity="bottom"
android:background="@color/whiteBg">
<!-- this layout contains a button and a textview which I don't think is the problem -->
</LinearLayout>
</LinearLayout>
- Und der java-code in Cart.java
:
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cart_layout);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
dbhandler = new DatabaseHandler(this);
product_all = dbhandler.getProduct();
total = (TextView)findViewById(R.id.cart_total_textview);
listview = (ListView)findViewById(R.id.cart_listview);
cart_adapter = new Custom_Cart_Adapter(this,product_all);
listview.setAdapter(cart_adapter);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.v("ITEM CLICK","CLICKED ITEM POSITION: "+position);
Intent intent = new Intent(Cart.this, Item_edit_details.class);
intent.putExtra("the_product", product_all.get(position));
startActivity(intent);
}
});
}
Machen ich will nur ein OnItemClick-Ereignis, aber immer wenn ich auf das Element Tippen, auch wenn die listview.setOnItemClickListener
da ist oder nicht, Logcat zeigt
ViewRootImpl: ViewPostImeInputStage processPointer 0
ViewRootImpl: ViewPostImeInputStage processPointer 1
nichts passiert.
Sehe ich auch eine seltsame log wie dieses, irgendwann sagte es "wahr" irgendwann sagte es "false":
ActivityThread: updateVisibility : ActivityRecord{3308191 token=android.os.BinderProxy@c7ed098 {com.iwant.namhhgames.newiwant/com.iwant.namhhgames.newiwant.Listing_items}} show : false
Ich weiß nicht, ob es in Bezug auf das problem, und ich habe keine Ahnung, Wann das problem Auftritt, vielleicht nachdem ich etwas Durcheinander.
Und die Logcat zeigt sich bei einem echten Gerät nur. Mit AVD, es wird nichts angezeigt.
Danken Ihnen für Ihre wertvolle Zeit.
- gleiche Problem hier. sehr stramge
- app friert ein, auch wenn ich auf die Schaltfläche klicke
- und wenn ich die zurück-Taste drücken, die app unfreeezes.
- gleiche Problem auch hier. Alle Lösungen?
- jede andere Lösung noch???
- Was SDK min und max und version von Android Studio sind Sie Kerl mit? Ich habe für diesen Fehler Umsetzung der Facebook Login mit einem aktualisierten app von min sdk=10, target-sdk=15, Android Studio 2.2
- Benötigen Sie mehr code zu posten, da die Teile, die vorhanden sind, scheinen gut zu funktionieren in Hicham Pirhano Antwort. Das problem könnte sein, dass Ihr adapter gibt
false
imisEnabled(int position)
oder Sie eingestellt habenlistView.setEnabled(false)
oder touch-listener, gibttrue
zu Ihremlistview
oder einige andere anzeigen irgendwie verbraucht Ihr auf. - Ich bin mit diesem problem, und ich bin nur die Einstellung meiner
Activity
content view
auf eine leereFrameLayout
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
diese laufen ohne Problem, also vielleicht ist dein adapter
Sie don ' T-Liste Custom_Cart_Adapter.java.
Versuchen Sie, hinzufügen android:justierbares="false" in Ihrer single_item.xml die Verwendung im inneren Custom_Cart_Adapter.java
Es kann helfen.
Den onItemClickListener von listview sollte nicht verwendet werden, da es kann dazu führen viele Probleme wie dieses. Für diesen Fall würde ich vorschlagen, die Verwendung einer benutzerdefinierten Klick-listener, die auf der adapter-Ansicht und Weitergabe der index durch diese " click-listener, ich meine, versuchen, zu implementieren Ihre eigenen onItemClickListener.
Wie Sie bemerken können, bei der recyclerView der onItemClickListener nicht angezeigt wird und der richtige Ansatz ist, um Ihre eigenen onItemClickListener.
Hast du Recht, aber für
arrayadapter
IhreonItemClick()
Zuhörer sollte wie folgt Aussehen.Hoffe, es wird dir helfen!!