我有一个包含两个按钮的自定义listview适配器,问题是很难单击该按钮并且它一直失去焦点,或者您必须多次触摸它才能识别该单击。

@Override
public View getView(int position, View view, final ViewGroup parent) {

    DataEntity data = entityList.get(position);

    view = inflater.inflate(R.layout.new_mission_row, parent, false);

// inflate other views


    Button playButton = (Button) view.findViewById(R.id.buttonPlay);
    playButton.setBackgroundResource(R.drawable.blue_button);
    playButton.setTextColor(Color.WHITE);
    MyClickListener listener = new MyClickListener(context,entity);
    playButton.setOnClickListener(listener);
    playButton = (Button) view.findViewById(R.id.buttonMap);
    playButton.setBackgroundResource(R.drawable.blue_button);
    playButton.setTextColor(Color.WHITE);
    playButton.setOnClickListener(listener);
    return view;
}

最佳答案

一次检查您的代码。您尚未为buttonmap创建其他按钮对象。

playButton = (Button) view.findViewById(R.id.buttonMap);


在这里,您使用与为buttonPlay创建的按钮对象相同的按钮

同样,当您填充ListView时,则应使用ViewHolder pattern高效地填充listview。

07-26 09:31