YXTS122 2017-03-03 08:24 采纳率: 100%
浏览 1115
已采纳

安卓,跳转到第二个活动,不出现listview

图片说明
图片说明
图片说明
图片说明
OrderActivity.java

  package com.example.order;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.app.Instrumentation;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;

public class OrderActivity extends Activity {
    private ListView listView;
    public Cursor cursor;
    DBHelper dbHelper;
    SQLiteDatabase db;
    ArrayList<HashMap<String, Object>> Order = new ArrayList<HashMap<String, Object>>();
    public String getorderid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_order);
        Intent intent = getIntent();
        final String orderid = intent.getStringExtra("orderid");
        getorderid=orderid;
        Log.i("orderid:", getorderid);

        List<OrderDetail> OrderList = getListItems();
        listView = (ListView) findViewById(R.id.LVorderList);
        OrderAdapter adapter = new OrderAdapter(this, OrderList);
        listView.setAdapter(adapter);

        Button submit =(Button)findViewById(R.id.BTorderSubmit);
        Button back = (Button)findViewById(R.id.BTorderBack);

        submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });
        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new Thread() {
                    public void run() {
                        Instrumentation inst = new Instrumentation();
                        inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
                    }
                }.start();
            }
        });
    }

    public List<OrderDetail> getListItems() {
        dbHelper = new DBHelper(this,"orderdetail.db",null,2);
        db = dbHelper.getWritableDatabase();
        cursor = db.rawQuery("select * from orderdetail where orderid="+getorderid,null );
        List<OrderDetail> OrderList = new ArrayList<OrderDetail>();
        while(cursor.moveToNext()){
            int detailid = cursor.getInt(cursor.getColumnIndex("detailid"));
            String orderid = cursor.getString(cursor.getColumnIndex("orderid"));
            int menuid = cursor.getInt(cursor.getColumnIndex("menuid"));
            String detailName = cursor.getString(cursor.getColumnIndex("detailName"));
            int num = cursor.getInt(cursor.getColumnIndex("num"));
            int sate = cursor.getInt(cursor.getColumnIndex("sate"));
            int price =cursor.getInt(cursor.getColumnIndex("price"));
            OrderDetail od = new OrderDetail(detailid,orderid,menuid,detailName,num,sate,price);
            OrderList.add(od);
            Log.i("od"," detailid:"+detailid+" orderid:"+orderid+" menuid:"+menuid+" detailName:"+detailName+ " num:" +num+ " sate:" +sate+" price:"+price);
        }
        return OrderList;
    }

public class OrderAdapter extends BaseAdapter {
     private Context context;
    private ArrayList<OrderDetail> orderdetaillist;
    private LayoutInflater listContainer;

    public OrderAdapter(Context context, List<OrderDetail> orderdetaillist) {
        this.context = context;
        listContainer = LayoutInflater.from(context);
        this.orderdetaillist = (ArrayList<OrderDetail>) orderdetaillist;
    }

    @Override
    public int getCount() {
        return cursor.getCount();
    }

    @Override
    public Object getItem(int position) {
        return position;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }
    @Override
    public View getView(final int position, View view, ViewGroup parent) {

     final int clickID = position;
        View items = listContainer.inflate(R.layout.activity_order_items, null);

        TextView name = (TextView) items.findViewById(R.id.orderItemName);
        TextView price = (TextView) items.findViewById(R.id.orderItemPrice);
        Button Sub = (Button) items.findViewById(R.id.BTorderNumSub);
        final TextView num = (TextView) items.findViewById(R.id.orderItemNum);
        Button Add = (Button) items.findViewById(R.id.BTorderNumAdd);
        TextView state = (TextView) items.findViewById(R.id.orderState);
        ImageButton Delete = (ImageButton) items.findViewById(R.id.IBorderItemDelete);

        name.setText(orderdetaillist.get(position).getDetailName());
        price.setText(String.valueOf(orderdetaillist.get(position).getPrice()));
        num.setText(String.valueOf(orderdetaillist.get(position).getQuantity()));
        state.setText(String.valueOf(orderdetaillist.get(position).getDetailsate()));

        Sub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String quantity=num.getText().toString();
                int newquantity=Integer.parseInt(quantity)-1;
                num.setText(String.valueOf(newquantity<1?1:newquantity));
                String refresh=num.getText().toString();
                int menuid =orderdetaillist.get(clickID).getMenuID();
                Log.i("新数量", String.valueOf(refresh));

                String sql ="update orderdetail set num=? where menuid=? and orderid=?";
                db.execSQL(sql,new Object[]{refresh,menuid,getorderid});
            }
        });

        Add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String quantity=num.getText().toString();
                num.setText(String.valueOf(Integer.parseInt(quantity)+1));
                String refresh=num.getText().toString();
                int menuid =orderdetaillist.get(clickID).getMenuID();
                Log.i("新数量", String.valueOf(refresh));
                String sql ="update orderdetail set num=? where menuid=? and orderid=?";
                db.execSQL(sql,new Object[]{refresh,menuid,getorderid});
            }
        });
        Delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int menuid =orderdetaillist.get(clickID).getMenuID();
                orderdetaillist.remove(orderdetaillist.get(clickID));//移除数据
                String sql ="delete from orderdetail where menuid=? and orderid=?";
                db.execSQL(sql,new Object[]{menuid,getorderid});
                notifyDataSetChanged();
            }
        });

        return items;
    }
}
}
  • 写回答

6条回答 默认 最新

  • lykAnd 2017-03-03 10:08
    关注

    红框里面那两个输入框,et1代表detailid,et2代表orderid,你查询的时候是根据orderid查询的,按照你截图的来看,你现在输入的数据里面orderid只有2,没有1,你用1去查询就查不到数据了,你试试查询2应该就会有了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?