EditText是安卓的标准输入控件,也是最长用的控件,被认为是很简单的,但是当这个最简单、易用的控件碰上ListView列表控件的时候,坑爹的情况就出现了,焦点获取问题,输入的内容混乱问题、无法正常输入问题等等,总之就是简单的控件让开发变得头疼不已。究其原因,ListView的自条目会复用控件,导致edittext数据混乱,焦点的获取出现问题。遇到过问题的,都明白是怎么回事,这里不再截图展示问题,只是把解决方案和代码共享出来。废话少说,直接上代码:
package com.hongzhen.demo.activity;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import com.hongzhen.demo.R;
import com.hongzhen.demo.adapter.EdittextAdapter;
import com.hongzhen.demo.bean.ItemBean;
import java.util.ArrayList;
import java.util.List;
/**
* Created by hongzhen on 2017/9/4.
*/
public class EditTextListViewActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edittext_listview);
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(EditTextListViewActivity.this, "toast: " + position, Toast.LENGTH_SHORT).show();
}
});