有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将EditText中的值添加到自定义ListView?

我一直在努力向自定义列表视图添加条目。下面是到目前为止ListView所在片段的代码

public class f2 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_1, container, false);
 }
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    Bundle pending = getArguments();
    String Number = pending.getString("Num");
    String Message = pending.getString("Mess");
    ArrayList<String> values = new ArrayList<String>();
    values.add(Number);

    ListView yourListView = (ListView) getActivity().findViewById(R.id.listnew);

    MySimpleArrayAdapter customAdapter = new MySimpleArrayAdapter(getActivity(), 安卓.R.layout.simple_list_item_1, values);
    yourListView.setAdapter(customAdapter);
    customAdapter.notifyDataSetChanged();
    super.onActivityCreated(savedInstanceState);
}
public class MySimpleArrayAdapter extends ArrayAdapter<String> {
      Bundle pending;
      private final Context context;
      private final ArrayList<String> values;

      public MySimpleArrayAdapter(Context context, int simpleListItem1, ArrayList<String> values) {
        super(context, R.layout.rowlayout);
        this.context = context;
        this.values = values;
        this.pending = getArguments();
      }

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
        TextView textViewNum = (TextView) rowView.findViewById(R.id.label);
        textViewNum.setText(values.get(position));
        return rowView;
      }
    } 

}

包是EditText中的值的来源。 哦,是的,这个捆绑包已经通过toast消息和其他方式进行了检查,以确保论点得到通过。 如果有人能帮忙,我们将不胜感激

这里显示的代码的问题是,即使捆绑包中有字符串,也不会在活动中显示任何内容


共 (1) 个答案

  1. # 1 楼答案

    以下是你可以做到的方法:

    第一件事

    Put ArrayList values=new ArrayList();在onActivityCreated()之前

    第二:

    如果您正在使用intent,请执行以下操作:

    Intent intentBundle = getActivity().getIntent();
            String question_cat = intentBundle.getStringExtra("question_cat");
            String Number = intentBundle.getStringExtra("Num");
            String Message = intentBundle.getStringExtra("Mess");
            Log.i("Result : ", Number );
            values.add(Number);
    

    如果使用Bundle:

         Bundle extras = getIntent().getExtras();
         if (extras != null) 
         {
         String Number = extras.getString("Num");
         String Message = extras.getString("Mess");
         values.add(Number);
         }
    

    也许这会有帮助