Java 自定义listview中的OnClicklistener无法写入
我尝试在自定义列表视图中使用单击按钮。 但它不起作用。 例如,当我单击“按钮”来更改另一个按钮的文本时,它的工作对listview中的另一行也是如此! 这是我在课堂上的onclick监听器:Java 自定义listview中的OnClicklistener无法写入,java,android,listview,android-listview,Java,Android,Listview,Android Listview,我尝试在自定义列表视图中使用单击按钮。 但它不起作用。 例如,当我单击“按钮”来更改另一个按钮的文本时,它的工作对listview中的另一行也是如此! 这是我在课堂上的onclick监听器: holder.btnLike.setOnClickListener( new OnClickListener() { int clicks = 0; @Override public void onClick(V
holder.btnLike.setOnClickListener( new OnClickListener() {
int clicks = 0;
@Override
public void onClick(View arg0) {
clicks = clicks + 1;
if(clicks == 1){
}else if(clicks == 2) {
LikeToast.makeText(context, "Liked" , Toast.LENGTH_SHORT).show();
holder.btnLike.setText("Liked");
Drawable image = context.getResources().getDrawable( R.drawable.ic_action_liked );
int hlike = image.getIntrinsicHeight();
int wlike = image.getIntrinsicWidth();
image.setBounds( 0, 0, wlike, hlike );
holder.btnLike.setCompoundDrawables( image, null, null, null );
//holder.btnLikes.setBackgroundDrawable(R.drawable.ic_action_liked);
} else{
clicks = 2;
}
}
});
还有我的VoteListAdapter.class:
请帮助我。您需要返回您正在单击的行,并为该位置设置onclick侦听器,当前您的onclick为所有行激发
l.setAdapter(bAdaptor);
l.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Batches bi = (Batches) parent.getAdapter().getItem(position);
//Do what you want here
}
});
只需将下面的内容添加到您已声明按钮的xml文件中。。。。发生这种情况是因为按钮单击侦听器不工作,它实际上是作为整个listview的
android:focusable="false"
android:focusableInTouchMode="false"
希望它能帮上忙…我怎么用这个?!在声明适配器时使用此选项,因此l是我活动的listview,然后我设置适配器bAdapter,这是一个自定义适配器,并在设置适配器后调用侦听器。显示初始化ListView的代码在哪个按钮上执行操作从这里向我提及名称。
android:focusable="false"
android:focusableInTouchMode="false"