我一直在努力为自定义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(), android.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;
}
}
}
Bundle是来自EditText的值的来源。 哦是的,并且已经使用toast消息和其他方法检查了bundle以确保参数正在通过。 如果有人可以提供帮助,我们将不胜感激。
即使捆绑中存在字符串,此处显示的代码问题也不会在活动中显示任何内容。
答案 0 :(得分:1)
以下是如何做到的:
首先的事情;
Put ArrayList values = new ArrayList();在onActivityCreated()之前。
第二
如果您正在使用意图,请执行以下操作:
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);
}
也许这会有所帮助。