Android 从数据库将数据插入listView
我想启动一个应用程序,在主活动中只需一个名为“添加新用户”的按钮和一个名为“未添加用户”的文本视图。。。然后在添加新用户后,我想在列表视图中添加该用户的名称,删除MainActivity中的文本视图“未添加用户”。。。如何继续?请帮助我创建一个包含文本“未添加用户”的ArrayList,并将其设置为ListView数据。然后为“添加新用户”按钮设置一个setOnClickListener。执行创建新用户的过程,将新用户数据添加到ArrayList中,然后更新ListView数据 例:Android 从数据库将数据插入listView,android,listview,Android,Listview,我想启动一个应用程序,在主活动中只需一个名为“添加新用户”的按钮和一个名为“未添加用户”的文本视图。。。然后在添加新用户后,我想在列表视图中添加该用户的名称,删除MainActivity中的文本视图“未添加用户”。。。如何继续?请帮助我创建一个包含文本“未添加用户”的ArrayList,并将其设置为ListView数据。然后为“添加新用户”按钮设置一个setOnClickListener。执行创建新用户的过程,将新用户数据添加到ArrayList中,然后更新ListView数据 例: Array
ArrayList userList=new ArrayList();
userList.add(“未添加用户”);
//在自定义适配器中添加数据
adapter=新的CustomAdapter(此,R.layout.the_行,userList);
ListView数据列表=(ListView)findViewById(R.id.the_行);
dataList.setAdapter(适配器);
//按钮单击侦听器
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//使用新用户更新ArrayList
adapter.notifyDataSetChanged();
}
});
我做过一次,请检查我的代码-(这里DataHandler是管理数据库的类文件)-
公共类历史页面扩展了片段
{
数据处理器;
int i,num;
字符串nm1,nm2,结果;
私有ListView主ListView;
专用阵列适配器列表适配器;
观点五;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态)
{
v=充气机。充气(R.layout.page,容器,假);
ActionBar=((ActionBarActivity)getActivity()).getSupportActionBar();
律师资格(“历史”);
bar.show();
设置选项菜单(真);
mainListView=(ListView)v.findViewById(R.id.mainListView);
handler=newdatahandler(getActivity().getBaseContext());
handler.open();
游标c=handler.returnData();
c、 moveToFirst();
num=c.getCount();
字符串[]结果=新字符串[num];
对于(i=0;那么,我好了,您刚才有没有代码?有没有为您的活动创建的XML文件?是的,我已经创建了我的注册代码+XML,主活动代码+XML
ArrayList<String> userList = new ArrayList<String>();
userList.add("No User Added");
// add data in custom adapter
adapter = new CustomAdapter(this, R.layout.the_row, userList);
ListView dataList = (ListView) findViewById(R.id.the_row);
dataList.setAdapter(adapter);
// Button onClickListener
AddButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Update ArrayList with new User
adapter.notifyDataSetChanged();
}
});
public class HistoryPage extends Fragment
{
DataHandler handler;
int i,num;
String nm1,nm2,result;
private ListView mainListView ;
private ArrayAdapter<String> listAdapter ;
View v;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
{
v=inflater.inflate(R.layout.page, container,false);
ActionBar bar=((ActionBarActivity)getActivity()).getSupportActionBar();
bar.setTitle("History");
bar.show();
setHasOptionsMenu(true);
mainListView = (ListView)v.findViewById( R.id.mainListView );
handler=new DataHandler(getActivity().getBaseContext());
handler.open();
Cursor c=handler.returnData();
c.moveToFirst();
num=c.getCount();
String[] Results = new String[num];
for(i=0 ; i<num ; i++)
{
nm1=c.getString(0).toString();
nm2=c.getString(1).toString();
result=c.getString(2).toString();
Results[i]=nm1+" & "+nm2+" - "+result;
c.moveToNext();
}
handler.close();
ArrayList<String> hstry = new ArrayList<String>();
hstry.addAll(Arrays.asList(Results));
listAdapter = new ArrayAdapter<String>(getActivity(), R.layout.textv,hstry);
mainListView.setAdapter( listAdapter );
return v;
}
public void onCreateOptionsMenu(Menu menu,MenuInflater inflater)
{
super.onCreateOptionsMenu(menu,inflater);
inflater.inflate(R.menu.clear, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId())
{
case R.id.cc:handler=new DataHandler(getActivity().getBaseContext());
handler.open();
handler.removeall();
listAdapter.clear();
break;
case R.id.Back_d:getFragmentManager().popBackStack();
}
return false;
}