eatwhatApp开发实战(八)

  在App中增,删功能都有了,这次我们来做改的功能。在项目中点击items项时对对应的条目中的商店名称进行修改。

  点击items跳出一个对话框,里面包含了输入框、修改按钮和取消按钮:

  AlertDialog.Builder builder = new Builder(MainActivity.this);
  builder.setTitle("删除?");

  final EditText et =  new EditText(MainActivity.this);
  builder.setView(et);
  builder.setPositiveButton("修改", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
		修改逻辑
      }
  });
  builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {

      //对话框删除
      dialog.dismiss();
    }
  });

  添加修改的代码:

String name = et.getText().toString();
if (name != null && !"".endsWith(name)){
    //修改本地数据
    upda(name,shopList.get(position));
    //修改shopList里面的对应数据
    shopList.get(position).setName(name);
    //刷新
    shopAdapter.notifyDataSetChanged();
}

  实现upDateLocalData():

private void upDateLocalData(String name,Shop shop){
  ContentValues values = new ContentValues();
  values.put("shopName", name);
  db.update("shopinfo", values, "shopName = ?", new String[]{shop.getName()});
}

  

时间: 2024-08-12 16:16:54

eatwhatApp开发实战(八)的相关文章

eatwhatApp开发实战(三)

在实战二中我们在eatwhatApp上增加了“添加店铺的功能”.接下来,我们来将添加的店铺显示出来,这里我们用到控件--ListView. 先上演示图: 首先,我们先设置布局: <RelativeLayout android:id="@+id/et_relative" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button

eatwhatApp开发实战(十三)

这次内容,我们就项目中添加商店名称的EditText进行修改,让添加按钮随着edittext的内容而改变. 上代码,首先是xml文件上对两个控件的修改: <RelativeLayout android:id="@+id/et_relative" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:i

eatwhatApp开发实战(十二)

上次我们介绍了跳转activity并且实现传值的功能,今天我们来实现双击返回键退出app的功能,上代码: 这里我们有两种方式去实现点击事件: 第一种方式: /** * 返回键的监听(系统提供的) */ @Override public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); } 第二种方式: @Override public boolean onKeyDown(int key

eatwhatApp开发实战(六)

上次,我们为app添加了本地存储的功能,但会发现一但退出app则存储的商家集合就消失,但其实本地已经存储了记录只是没去读取罢了. 接下来我们来实现这个功能. /** * 获取本地数据 */ private void getLocalData() { //创建或者打开数据库 createOrOpenDataBase(); // 定义一个集合用来存放我们要的几个店名 shopList = new ArrayList<Shop>(); //游标 获取数据库表单上的项 Cursor cursor =

eatwhatApp开发实战(五)

上次我们为eatwhat添加了了删除功能和dialog对话框的介绍,今天我们来使用SQLite进行本地数据存储. 首先,我们定义一个SQL辅助类ShopInfoOpenHelper继承SQLiteOpenHelper. public class ShopInfoOpenHelper extends SQLiteOpenHelper { public ShopInfoOpenHelper(Context context, String name, CursorFactory factory, in

eatwhatApp开发实战(十)

android应用中,很少有一个activity的app,这次我们设置一个activity,通过listview的点击跳转并显示对应的商店信息. 首先创建类ShopInfoActivity,对应设置其xml文件属性: java: public class ShopInfoActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated m

eatwhatApp开发实战(九)

之前我们为app在item项上添加了点击出现修改对话框,对店名进行修改的功能,其中我们会发现我们点击item和点击item上的按钮会有点击冲突.这次我们来修正下这个问题,同时介绍item项的长按点击OnItemLongClickListener(). 解决这个问题只需要修改对应item的xml文件上的两个属性,首先是item的布局上的设置: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&q

eatwhatApp开发实战(十一)

之前我们实现了点击item项跳转activity,接下来我们再其基础上添加参数的传递. 在MainActivity里面的onItemClick()中: String name = shopList.get(position).getName(); //意图 Intent it = new Intent(); //bundle对象 Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值. Bundle mBundle = new Bundle(); mBundle.p

eatwhatApp开发实战(十四)

之前我们就输入框EditText做了优化,而这次,我们为app添加拨打电话的功能. 首先是布局,将activity_shop_info.xml中对应的电话那一栏进行重新设计: <RelativeLayout android:id="@+id/ll_tel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below