Java ViewRootImpl:android中Listview的OnItemClick上的ViewPostImeInputStage进程指针0
我有一个Java ViewRootImpl:android中Listview的OnItemClick上的ViewPostImeInputStage进程指针0,java,android,listview,onitemclicklistener,Java,Android,Listview,Onitemclicklistener,我有一个cart\u布局如下: <?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=&qu
cart\u布局
如下:
<?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>
我只想创建一个OnItemClick事件,但每次我点击该项目时,即使listview.setOnItemClickListener
是否存在,Logcat都会显示
ViewRootImpl:ViewPostImeInputStage进程指针0
ViewRootImpl:ViewPostImeInputStage进程指针1
什么也没发生
我还看到一个奇怪的日志,像这样,有时写“真”,有时写“假”:
ActivityThread:UpdateVibility:ActivityRecord{3308191令牌=android.os。BinderProxy@c7ed098{com.iwant.namhhgames.newiwant/com.iwant.namhhgames.newiwant.Listing_items}显示:false
我不知道这是否与问题有关,我也不知道问题是什么时候发生的,也许是在我把事情搞砸之后
而Logcat仅针对实际设备显示。使用AVD时,没有显示任何内容
感谢您宝贵的时间。这次运行没有问题,所以您的适配器
@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);
}
});
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.testlist);
ListView ListView=(ListView)findViewById(R.id.ListTest);
ArrayList cart_adapter=新的ArrayList();
购物车适配器。添加(“我”);
购物车适配器。添加(“他”);
购物车适配器。添加(“您”);
setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,cart_adapter));
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Log.e(“项目点击”,“点击项目位置:+位置”);
}
});
}
11-16 14:55:31.735 1915-1915/ca.dti.grounded.app E/项目点击:点击项目位置: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\u Cart\u Adapter.java。 尝试将android:focusable=“false”添加到您在Custom\u Cart\u Adapter.java中使用的single\u item.xml中
它可能会有所帮助。不应使用listview中的onItemClickListener,因为它可能会导致许多问题。对于这种情况,我建议在适配器的视图上使用自定义的click侦听器,并通过这个click侦听器传递索引,我的意思是,尝试实现您自己的click侦听器
正如您可能注意到的,在recyclerView上,onItemClickListener没有出现,正确的方法是实现您自己的onItemClickListener 您做得不错,但对于
arrayadapter
您的onItemClick()
侦听器应该是这样的
ListView listview = (ListView)findViewById(R.id.listest);
listview .setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position,
long arg3)
{
Log.e("ITEM CLICK","CLICKED ITEM POSITION: "+position);
}
});
ListView ListView=(ListView)findViewById(R.id.listest);
setOnItemClickListener(新的OnItemClickListener()
{
@凌驾
公共单击(适配器视图适配器,视图v,内部位置,
长arg3)
{
Log.e(“项目点击”,“点击项目位置:+位置”);
}
});
希望它能帮助你 同样的问题。当我点击按钮和按下后应用程序解除冻结时,stramgeapp也会冻结。这里也有同样的问题。有解决办法吗?有解决办法吗?
ListView listview = (ListView)findViewById(R.id.listest);
listview .setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position,
long arg3)
{
Log.e("ITEM CLICK","CLICKED ITEM POSITION: "+position);
}
});