ViewRootImpl:ViewPostImeInputStage processPointer 0在Android的ListView的OnItemClick上

我有一个像这样的cart_layout

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

Cart.java的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); } }); } 

我只想做一个OnItemClick事件,但是每次点击该项目,即使在listview.setOnItemClickListener存在或不存在时,Logcat显示

ViewRootImpl:ViewPostImeInputStage processPointer 0

ViewRootImpl:ViewPostImeInputStage processPointer 1

没有任何反应

我也看到这样一个奇怪的日志,有时它说“真”,有时它会说“假”:

ActivityThread:updateVisibility:ActivityRecord {3308191 token = android.os.BinderProxy@c7ed098 {com.iwant.namhhgames.newiwant / com.iwant.namhhgames.newiwant.Listing_items}} show:false

我不知道这个问题是否与问题有关,而且我不知道问题何时发生,也许在我搞砸之后。

Logcat只显示真实的设备。 有了AVD,没有任何显示。

谢谢你宝贵的时间。

Solutions Collecting From Web of "ViewRootImpl:ViewPostImeInputStage processPointer 0在Android的ListView的OnItemClick上"

这运行没有问题,所以也许你的适配器

  @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 / ITEM点击:点击的项目位置:2 11-16 14:55:34.233 1915-1915 / ca.dti.grounded.app E /项目点击:点击项目位置:0 11-16 14:55:35.616 1915-1915 / ca.dti.grounded.app E /项目点击:点击项目位置:1 11-16 14:55:36.061 1915-1915 / ca .dti.grounded.app E /项目点击:点击项目位置:2

您不列出Custom_Cart_Adapter.java。 尝试在您使用Custom_Cart_Adapter.java的single_item.xml中添加android:focusable =“false”它可以提供帮助。

不应该使用listview中的onItemClickListener,因为它会导致许多问题。 对于这种情况,我build议在适配器的视图上使用自定义的单击侦听器,并通过这个点击侦听器传递索引,我的意思是,尝试实现自己的onItemClickListener。

您可能会注意到,在recyclerView onItemClickListener不会出现,正确的方法是实现您自己的onItemClickListener。