显示到listview android studio时无法分隔项目
我正在学习Android,到目前为止,我已经开始创建联系人列表。列表是使用SQLlight存储的,但是当我试图在ListView中显示信息时,每个联系人都显示在同一部分中 我得到的结果是 联系人1 联系人2 联系人3显示到listview android studio时无法分隔项目,android,android-listview,android-arrayadapter,Android,Android Listview,Android Arrayadapter,我正在学习Android,到目前为止,我已经开始创建联系人列表。列表是使用SQLlight存储的,但是当我试图在ListView中显示信息时,每个联系人都显示在同一部分中 我得到的结果是 联系人1 联系人2 联系人3 public class MainActivityFragment extends Fragment { DatabaseHelper mydb; ArrayAdapter<String> adapter; private static ListView listVi
public class MainActivityFragment extends Fragment {
DatabaseHelper mydb;
ArrayAdapter<String> adapter;
private static ListView listView;
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mydb = new DatabaseHelper(getActivity());
adapter = new ArrayAdapter<>(
//gets information about MainActivity/ this fragment's parent activity
getActivity(),
//Id for contact item layout
R.layout.contact_list_item,
//gets the arraylist of contacts
getContacts()
);
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
//Get reference to the list view and then set the adapter to it.
listView = (ListView) rootView.findViewById(R.id.listView_contacts);
listView.setAdapter(adapter);
return rootView;
}
/*
Method to get contacts from the Database
*/
public List<String> getContacts(){
Cursor result = mydb.getData();
List<String> nameList = new ArrayList<String>();
if(result.getCount() == 0){
nameList.add("No Contacts available");
return nameList;
}
StringBuffer buffer = new StringBuffer();
while(result.moveToNext()){
//buffer.append("ID :" + result.getString(0)+"\n");
buffer.append("Name :" + result.getString(1)+"\n");
buffer.append("Phone :" + result.getString(2)+"\n");
buffer.append("Email :" + result.getString(3)+"\n");
buffer.append("B-Day :" + result.getString(4) + "\n");
}
nameList.add(buffer.toString());
return nameList;
}
而不是
联系人1
public class MainActivityFragment extends Fragment {
DatabaseHelper mydb;
ArrayAdapter<String> adapter;
private static ListView listView;
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mydb = new DatabaseHelper(getActivity());
adapter = new ArrayAdapter<>(
//gets information about MainActivity/ this fragment's parent activity
getActivity(),
//Id for contact item layout
R.layout.contact_list_item,
//gets the arraylist of contacts
getContacts()
);
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
//Get reference to the list view and then set the adapter to it.
listView = (ListView) rootView.findViewById(R.id.listView_contacts);
listView.setAdapter(adapter);
return rootView;
}
/*
Method to get contacts from the Database
*/
public List<String> getContacts(){
Cursor result = mydb.getData();
List<String> nameList = new ArrayList<String>();
if(result.getCount() == 0){
nameList.add("No Contacts available");
return nameList;
}
StringBuffer buffer = new StringBuffer();
while(result.moveToNext()){
//buffer.append("ID :" + result.getString(0)+"\n");
buffer.append("Name :" + result.getString(1)+"\n");
buffer.append("Phone :" + result.getString(2)+"\n");
buffer.append("Email :" + result.getString(3)+"\n");
buffer.append("B-Day :" + result.getString(4) + "\n");
}
nameList.add(buffer.toString());
return nameList;
}
联系人2
public class MainActivityFragment extends Fragment {
DatabaseHelper mydb;
ArrayAdapter<String> adapter;
private static ListView listView;
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mydb = new DatabaseHelper(getActivity());
adapter = new ArrayAdapter<>(
//gets information about MainActivity/ this fragment's parent activity
getActivity(),
//Id for contact item layout
R.layout.contact_list_item,
//gets the arraylist of contacts
getContacts()
);
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
//Get reference to the list view and then set the adapter to it.
listView = (ListView) rootView.findViewById(R.id.listView_contacts);
listView.setAdapter(adapter);
return rootView;
}
/*
Method to get contacts from the Database
*/
public List<String> getContacts(){
Cursor result = mydb.getData();
List<String> nameList = new ArrayList<String>();
if(result.getCount() == 0){
nameList.add("No Contacts available");
return nameList;
}
StringBuffer buffer = new StringBuffer();
while(result.moveToNext()){
//buffer.append("ID :" + result.getString(0)+"\n");
buffer.append("Name :" + result.getString(1)+"\n");
buffer.append("Phone :" + result.getString(2)+"\n");
buffer.append("Email :" + result.getString(3)+"\n");
buffer.append("B-Day :" + result.getString(4) + "\n");
}
nameList.add(buffer.toString());
return nameList;
}
联系人3
public class MainActivityFragment extends Fragment {
DatabaseHelper mydb;
ArrayAdapter<String> adapter;
private static ListView listView;
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mydb = new DatabaseHelper(getActivity());
adapter = new ArrayAdapter<>(
//gets information about MainActivity/ this fragment's parent activity
getActivity(),
//Id for contact item layout
R.layout.contact_list_item,
//gets the arraylist of contacts
getContacts()
);
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
//Get reference to the list view and then set the adapter to it.
listView = (ListView) rootView.findViewById(R.id.listView_contacts);
listView.setAdapter(adapter);
return rootView;
}
/*
Method to get contacts from the Database
*/
public List<String> getContacts(){
Cursor result = mydb.getData();
List<String> nameList = new ArrayList<String>();
if(result.getCount() == 0){
nameList.add("No Contacts available");
return nameList;
}
StringBuffer buffer = new StringBuffer();
while(result.moveToNext()){
//buffer.append("ID :" + result.getString(0)+"\n");
buffer.append("Name :" + result.getString(1)+"\n");
buffer.append("Phone :" + result.getString(2)+"\n");
buffer.append("Email :" + result.getString(3)+"\n");
buffer.append("B-Day :" + result.getString(4) + "\n");
}
nameList.add(buffer.toString());
return nameList;
}
public类MainActivityFragment扩展了片段{
数据库助手mydb;
阵列适配器;
私有静态ListView ListView;
公共维护活动片段(){
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
mydb=新的DatabaseHelper(getActivity());
适配器=新阵列适配器(
//获取有关MainActivity/此片段的父活动的信息
getActivity(),
//联系人项目布局的Id
R.layout.contact\u list\u项目,
//获取联系人的arraylist
getContacts()
);
视图根视图=充气机。充气(R.layout.fragment_main,容器,错误);
//获取对列表视图的引用,然后将适配器设置为它。
listView=(listView)rootView.findViewById(R.id.listView\u联系人);
setAdapter(适配器);
返回rootView;
}
/*
方法从数据库中获取联系人
*/
公共列表getContacts(){
游标结果=mydb.getData();
列表名称列表=新的ArrayList();
if(result.getCount()==0){
姓名列表。添加(“无联系人”);
返回姓名列表;
}
StringBuffer=新的StringBuffer();
while(result.moveToNext()){
//append(“ID:+result.getString(0)+”\n”);
append(“名称:”+result.getString(1)+“\n”);
buffer.append(“Phone:+result.getString(2)+”\n”);
buffer.append(“电子邮件:+result.getString(3)+”\n”);
buffer.append(“B-Day:+result.getString(4)+”\n”);
}
nameList.add(buffer.toString());
返回姓名列表;
}
}
activity_main.xml
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/fragment"
android:name="com.example.jak.contacts.MainActivityFragment"
tools:layout="@layout/fragment_main" android:layout_width="match_parent"
android:layout_height="match_parent" />
fragment_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivityFragment"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Contact"
android:id="@+id/button_Add_Contact"
android:layout_gravity="center_horizontal|bottom" />
<ListView
android:layout_width="match_parent"
android:layout_height="410dp"
android:id="@+id/listView_contacts"
android:layout_gravity="right"
/>
联系\u list\u item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:id="@+id/contact_list_item_textView">
同一部分是什么意思?是视觉上的吗?同一部分?或者它们被添加到同一个列表项中?你怎么知道它们都在同一个位置?您使用的只是文本视图,您看到的可能是三个文本视图。如果单击每个联系人,会发生什么情况?您看到的是全部选中还是一次一个?当我尝试只点击1时,它们都被选中。在每个单独的接触之后,只有一条分隔线,而不是一条分隔线。谢谢你的回答,我解决了这个问题。我没有从数据库中正确检索信息。