Android ListView,从ListView中的数据库添加项目
我有一个过程,在这个过程中,用户选择一个城市,然后在那个州看医生 我的结果显示了医疗机构的名称:Android ListView,从ListView中的数据库添加项目,android,Android,我有一个过程,在这个过程中,用户选择一个城市,然后在那个州看医生 我的结果显示了医疗机构的名称: @Override protected void onResume() { super.onResume(); setProgressBarIndeterminateVisibility(true); Bundle b = getIntent().getExtras(); final String[] resultA
@Override
protected void onResume() {
super.onResume();
setProgressBarIndeterminateVisibility(true);
Bundle b = getIntent().getExtras();
final String[] resultArr = b.getStringArray("selectedItems");
String location = b.getString("selectedItems");
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.orderByAscending(ParseConstants.KEY_PRACTICE_NAME);
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> users, ParseException e) {
setProgressBarIndeterminateVisibility(false);
if (e == null) {
// Success
//store users variable in Parse to mMidwifeLocations
mMidwives = users;
mCurrentUser = ParseUser.getCurrentUser();
//mMidwifeType = ParseUser.getString("usertype");
//store users in string array, locations
String[] midwives = new String[mMidwives.size()];
String[] locations = new String[mMidwives.size()];
String check;
String location;
int i = 0;
for(ParseUser user : mMidwives) {
//get city value from user, assign it to check variable
location = user.getString("city");
check = user.getString("userType");
if (!Arrays.asList(midwives).contains(check) && type != "patient" && Arrays.asList(resultArr).contains(location) ) {
//in locations array, assign practiename values
midwives[i] = user.getString("practicename");
}
}
i++;
我还想在列表中列出主要联系人、地址和实践理念。这样做的最佳策略是什么?我正在使用一个简单的列表项列表类型…还有其他列表类型…不知道是否使用其中一种可能是答案..提前感谢..首先,您可能希望在onCreate方法中完成所有这些 我不确定这是否是你想要的,但据我所知,我正在写这篇文章 我个人会在strings.XML中写下字符串数组中需要的所有数据
<string-array name="string_array">
<item name ="item1"> item1 </item>
.......
</string-array>
现在您应该能够定制listview布局了。如果出现任何问题,请对这个答案发表评论,我会尽力解决
祝你好运。我只是想澄清一下;现在,我正在传递上一个活动中选择的城市,在OnResume中,我正在循环数据以查找所选城市中的所有医疗实践,适配器正在将此结果推送到listview…您的解决方案似乎有一个适配器,它从非listview的布局中提取信息,但是否将该布局转换为listview?我仍然希望结果受到查询的限制。所以我会将适配器代码放在我当前适配器的位置,现在它只是基于城市提取机构名称?我发现了这一点,但如果其他搜索者需要详细描述,这是一个很好的源代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
class adapter extends BaseAdapter {
ArrayList<SingleRow> arrayList;
Context context;
adapter(Context contxt) {
context = contxt;
arrayList = new ArrayList<SingleRow>();
Resources res = contxt.getResources();
String[] items= res.getStringArray(R.array.string_array);
for (int i = 0; i < 1; i++) {//Change the 1 in i < 1 to how big your list is.
arrayList.add(new SingleRow(items[i]));
}
}
@Override
public int getCount() {
return arrayList.size();
}
@Override
public Object getItem(int position) {
return arrayList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.items_layout, parent, false);
TextView item1 = (TextView) row.findViewById(R.id.txtItem1);
SingleRow temp = arrayList.get(position);
items.setText(temp.items);
return row;
}
}
class SingleRow {
String items;
SingleRow(String items) {
this.items = items;
}
}
ListView listView = (ListView) findViewById(R.id.itemListView);
listView.setAdapter(new adapter(getActivity()));