Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取所选项目\u id时遇到问题_Java_Android_Sqlite_Listview - Fatal编程技术网

Java 获取所选项目\u id时遇到问题

Java 获取所选项目\u id时遇到问题,java,android,sqlite,listview,Java,Android,Sqlite,Listview,从listView检索所选项目的id时遇到问题。 我所做的逻辑是:我在listView中显示了一个产品。当我单击编辑此产品时,它会将我发送到该产品的详细信息页面。在这里,产品名称、价格等将被检索到ID的ok execept。 谁能告诉我我做错了什么?代码如下: 类数据库处理程序 在onCreate上的产品详细信息页面中,我有: 我发现了问题,只需更换适配器中的一行即可: 从 到 您还需要再做一次编辑: Bundle extras = getIntent().getExtras(); if (ex

从listView检索所选项目的id时遇到问题。 我所做的逻辑是:我在listView中显示了一个产品。当我单击编辑此产品时,它会将我发送到该产品的详细信息页面。在这里,产品名称、价格等将被检索到ID的ok execept。 谁能告诉我我做错了什么?代码如下: 类数据库处理程序

在onCreate上的产品详细信息页面中,我有:


我发现了问题,只需更换适配器中的一行即可:

您还需要再做一次编辑:

Bundle extras = getIntent().getExtras();
if (extras != null) {
            itemProductName.setText(extras.getString("product"));
            itemPrice.setText(extras.getString("price"));

//Here is the one change 

            final String itemID = extras.getString("id");

            saveButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                        dbHandler.updateItem(itemID);
                        Toast.makeText(ItemDetail.this, itemProductName.getText().toString() + " was modified", Toast.LENGTH_SHORT).show();

                        startActivity(new Intent(ItemDetail.this, MainActivity.class));
                    }
                }
            });
    }

就像你说的那样,这没关系。。我的代码也没问题,我只是用调试器发现了一个问题,就是我插入数据库的所有项都是用id 0插入的。我不知道为什么,因为我将列_id设置为整数主键AUTOINCREMENT,您的意思是说您的AUTOINCREMENT功能不起作用,它总是为每个记录插入零??
 @Override
public View getView(final int position, View convertView, ViewGroup parent) {

    View row = convertView;
    final ViewHolder holder;

    if (row == null || (row.getTag()) == null){

        LayoutInflater inflater = LayoutInflater.from(activity);
        row = inflater.inflate(layoutResource,null);

        holder = new ViewHolder();

        holder.hItemName = (TextView) row.findViewById(R.id.custom_row_productName);
        holder.hItemPrice = (TextView) row.findViewById(R.id.custom_row_productPrice);

        holder.hItemEdit = (ImageView) row.findViewById(R.id.custom_row_edit);

        row.setTag(holder);
    } else {
        holder = (ViewHolder) row.getTag();
    }

    holder.hModel = getItem(position);

    holder.hItemName.setText(holder.hModel.getItemName());
    holder.hItemPrice.setText(String.valueOf(holder.hModel.getItemPrice()));

    holder.hItemEdit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int itemID = holder.hModel.getItemId();
            String itemName = holder.hModel.getItemName();
            String itemPrice = String.valueOf(holder.hModel.getItemPrice());

            Intent intent = new Intent(activity, ItemDetail.class);

            intent.putExtra("id", itemID);
            intent.putExtra("product", itemName);
            intent.putExtra("price", itemPrice);
            intent.putExtra("type", itemType);

            startActivity(activity, intent,null);
        }
    });
Bundle extras = getIntent().getExtras();
if (extras != null) {
            itemProductName.setText(extras.getString("product"));
            itemPrice.setText(extras.getString("price"));
            final int itemID = extras.getInt("id");

            saveButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                        dbHandler.updateItem(itemID);
                        Toast.makeText(ItemDetail.this, itemProductName.getText().toString() + " was modified", Toast.LENGTH_SHORT).show();

                        startActivity(new Intent(ItemDetail.this, MainActivity.class));
                    }
                }
            });
    }
intent.putExtra("id", itemID);
intent.putExtra("id", ""+itemID);
Bundle extras = getIntent().getExtras();
if (extras != null) {
            itemProductName.setText(extras.getString("product"));
            itemPrice.setText(extras.getString("price"));

//Here is the one change 

            final String itemID = extras.getString("id");

            saveButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                        dbHandler.updateItem(itemID);
                        Toast.makeText(ItemDetail.this, itemProductName.getText().toString() + " was modified", Toast.LENGTH_SHORT).show();

                        startActivity(new Intent(ItemDetail.this, MainActivity.class));
                    }
                }
            });
    }