2016-05-01 16 views
34

ho un cart_layout come questo:ViewRootImpl: ViewPostImeInputStage processPointer 0 su OnItemClick di ListView in Android

<?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> 

E il codice java per esso 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); 
     } 
    }); 
} 

Voglio solo fare un Evento OnItemClick ma ogni volta che tocco l'elemento, anche quando lo listview.setOnItemClickListener è presente oppure no, Logcat mostra

ViewRootImpl: ViewPostImeInputStage processPointer 0

ViewRootImpl: ViewPostImeInputStage processPointer 1

e non succede nulla.

vedo anche un log strano come questo, qualche volta ha detto "vero" a volte si legge "false":

ActivityThread: updateVisibility: ActivityRecord {{3.308.191 [email protected] com .iwant.namhhgames.newiwant/com.iwant.namhhgames.newiwant.Listing_items}} spettacolo: true

non so se si riferiva al problema, e non ho idea di quando si verifica il problema, forse dopo aver incasinato qualcosa.

E il Logcat viene mostrato solo per il dispositivo reale. Con AVD, non viene mostrato nulla.

Grazie per il vostro tempo prezioso.

+0

stesso problema qui. l'app molto piccola –

+0

si blocca anche quando faccio clic sul pulsante –

+0

e quando premo l'app si sblocca. –

risposta

0

questa corsa senza alcun problema, quindi forse l'adattatore

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.testlist); 

     ListView listview = (ListView)findViewById(R.id.listest); 

     ArrayList<String> cart_adapter = new ArrayList<String>(); 

     cart_adapter.add("Me"); 
     cart_adapter.add("Him"); 
     cart_adapter.add("You"); 

     listview.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cart_adapter)); 

     listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Log.e("ITEM CLICK","CLICKED ITEM POSITION: "+position); 
      } 
     }); 

    } 

11-16 14: 55: 31,735 1915-1915/ca.dti.grounded.app E/articolo scatti: CLICCATI ARTICOLO POSIZIONE: 2 11-16 14: 55: 34.233 1915-1915/ca.dti.grounded.app E/ITEM CLIC: CLICKED ITEM POSITION: 0 11-16 14: 55: 35,616 1915-1915/ca.dti.grounded.app E/articolo scatti: CLICCATI ARTICOLO POSIZIONE: 1 11-16 14: 55: 36,061 1915-1915/ca.dti.grounded.app E/articolo scatti: CLICCATI ARTICOLO POSIZIONE: 2

0

Non si elenca Custom_Cart_Adapter.java. Prova ad aggiungere android: focusable = "false" nel tuo single_item.xml che usi all'interno di Custom_Cart_Adapter.java Può aiutarti.

+0

Questo non risolve il mio problema. –

0

L'onItemClickListener di listview non deve essere utilizzato in quanto può causare numerosi problemi come questo. In questo caso, suggerirei l'uso di un listener di clic personalizzato sulla vista dell'adattatore e il passaggio dell'indice tramite questo listener di clic, cioè, provare a implementare il proprio onItemClickListener.

Come si può notare, su recyclerView onItemClickListener non viene visualizzato e l'approccio corretto consiste nell'implementare il proprio onItemClickListener.

Problemi correlati