gpt4 book ai didi

java - 当我尝试添加监听器时,EditText 使应用程序崩溃

转载 作者:太空宇宙 更新时间:2023-11-04 11:46:02 25 4
gpt4 key购买 nike

当我尝试将 TextChangedListener 添加到 EditText 时,即使我没有在 AfterTextChangedMethod 中编写任何内容,应用程序也会崩溃。我试图获取用户插入的字符串,但是一旦添加监听器,它就会崩溃。

public class MainActivityFragment extends Fragment {

ArrayList<HashMap<String,String>> city_list;

public MainActivityFragment() {
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
EditText search = (EditText) getActivity().findViewById(R.id.search_view);
search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }

@Override
public void afterTextChanged(Editable s) {
String inserted = s.toString();
for(int i=0; i< city_list.size();i++){
if(city_list.get(i).toString().equalsIgnoreCase(inserted)){
TextView id = (TextView) getActivity().findViewById(R.id.city_id);
id.setText(city_list.get(i).get("_id").toString());
TextView lat = (TextView) getActivity().findViewById(R.id.city_lat);
lat.setText(city_list.get(i).get("lat").toString());
TextView lon = (TextView) getActivity().findViewById(R.id.city_long);
lon.setText(city_list.get(i).get("lon").toString());
}
}
}
});

return inflater.inflate(R.layout.fragment_main, container, false);
}

最佳答案

试试这个,

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment_main, container, false);

EditText search = (EditText)view.findViewById(R.id.search_view);
search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

}

@Override
public void afterTextChanged(Editable s) {
String inserted = s.toString();
for(int i=0; i< city_list.size();i++){
if(city_list.get(i).toString().equalsIgnoreCase(inserted)){
TextView id = (TextView) view .findViewById(R.id.city_id);
id.setText(city_list.get(i).get("_id").toString());
TextView lat = (TextView) view .findViewById(R.id.city_lat);
lat.setText(city_list.get(i).get("lat").toString());
TextView lon = (TextView) view .findViewById(R.id.city_long);
lon.setText(city_list.get(i).get("lon").toString());
}
}
}
});


return view;
}

关于java - 当我尝试添加监听器时,EditText 使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42342474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com