当前位置: 首页 > 知识库问答 >
问题:

如何获取项目ID[重复]

皇甫飞跃
2023-03-14

我对我的项目有recyclerview。我要获取项目id。如何获取项目id。我使用了Item touchhelper,需要特定的Item id。如何获取特定的项目id。

活跃。JAVA

public class todoactivity extends AppCompatActivity    {
    TextView title;
    Button back;
    ImageButton gorevo;
    RecyclerView recyclerView;
    List<String>Listsx = new ArrayList<>();
    TodoActivityAdpter adapterx;
    DatabaseHelper4 myDBxxx;
    TextView textView;
    CheckBox checkBox;
    long id;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_todoactivity);
        recyclerView=findViewById(R.id.recyclerviewxx);
        recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
        adapterx=new TodoActivityAdpter(Listsx);
        recyclerView.setAdapter(adapterx);
        title=findViewById(R.id.titlex);
        textView=findViewById(R.id.text_viewx);
        gorevo = findViewById(R.id.gorevo);

        myDBxxx = new DatabaseHelper4(this);

        Cursor datax = myDBxxx.getListContents();
        if(datax.getCount() == 0){

        }else{
            while(datax.moveToNext()){
                Listsx.add(datax.getString(1));

                ListAdapter listAdapterx = new ArrayAdapter<>(this,R.layout.todoactivity_item,R.id.textitem,Listsx);
                adapterx.notifyItemInserted(Listsx.size()-1);
            }
        }


        gorevo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(todoactivity.this);
                bottomSheetDialog.setContentView(R.layout.bottomsheetlayout3);
                bottomSheetDialog.show();
                InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
                EditText editText = bottomSheetDialog.findViewById(R.id.editx);
                Button ekle = bottomSheetDialog.findViewById(R.id.ekle);
                ekle.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        String text = editText.getText().toString();
                        Listsx.add(text);
                        AddDataxxx(text);
                        adapterx.notifyItemInserted(Listsx.size()-1);
                        bottomSheetDialog.hide();
                        inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(),0);
                    }
                });

            }
        });
        back=findViewById(R.id.back);
        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(todoactivity.this, pomodoroscreen.class);
                startActivity(i);
                overridePendingTransition(0,0);
            }
        });



        ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(0,ItemTouchHelper.LEFT) {
            @Override
            public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
                return false;
            }

            @Override
            public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {

                int positionx = viewHolder.getAdapterPosition();
                Listsx.remove(positionx);
                adapterx.notifyItemRemoved(positionx);
                myDBxxx.deleteItem(// I want get id in there);
                

}
};
       
        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
     
        itemTouchHelper.attachToRecyclerView(recyclerView);
        
    }

    public void AddDataxxx(String newEntry) {

        boolean insertDatax = myDBxxx.addDataxxx(newEntry);
    }


}

我的适配器。JAVA

public class TodoActivityAdpter extends RecyclerView.Adapter<TodoActivityAdpter.Holder> {



    List<String>Listsx;
    public TodoActivityAdpter(List<String>itemxxx){
        this.Listsx = itemxxx;
    }
    @NonNull
    @Override
    public TodoActivityAdpter.Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.todoactivity_item,parent,false);
        Holder holder = new Holder(view);
        return holder;
    }
    @Override
    public void onBindViewHolder(@NonNull TodoActivityAdpter.Holder holder, int position) {
        holder.textView.setText(Listsx.get(position));


        holder.checkBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (holder.checkBox.isChecked()) {


                    holder.textView.setTextColor(view.getResources().getColor(R.color.grey));
                } else {
                    holder.textView.setTextColor(view.getResources().getColor(R.color.Color_black));
                }
            }
        });
    }
    @Override
    public int getItemCount() {
        return Listsx.size();
    }

    public class Holder extends RecyclerView.ViewHolder {

        CheckBox checkBox;
        TextView textView;

        List<String>Listsx;
        RecyclerView recyclerView;
        Context mContext;
        public Holder(View view) {
            super(view);

            textView=view.findViewById(R.id.text_viewx);
            checkBox=view.findViewById(R.id.checkbox);
            recyclerView=view.findViewById(R.id.recyclerviewxx);



        }
    }
   
}

我想在活动中获取项目id。如何获取项目id。你能快点吗。我的活动就是活动。JAVA我的适配器是MyAdapter。JAVA

共有1个答案

高英彦
2023-03-14
int positionx = viewHolder.getAdapterPosition();
int id = recyclerView.getChildAt(position).getId();
Listsx.remove(positionx);
adapterx.notifyItemRemoved(positionx);
myDBxxx.deleteItem(id);

也许吧

 类似资料:
  • 公共类DbHelper扩展了SQLiteOpenHelper{ }

  • 我正在OnItemClickListener接口的OnItemClicked(int position,view v)方法中传递position和view。现在,在我的ViewReceptionistActivity中,我要检查单击了哪个项和哪个子部分。如果用户单击图像,则执行任务A,如果用户单击名称,则执行任务B,依此类推。 下面是我的布局文件-viewreceptionist_item.xml

  • 什么是 Bundle ID Bundle ID是第三方应用的唯一识别码,在iOS应用市场被称为Bundle ID,在Android应用市场被称为Application ID。 1. 如何获取iOS Bundle identifier? 1.1 开发者获取 使用Xcode,并切换至Info下,查看Bundle identifier,其中,黑色和灰色的文字都要复制下来。 1.2 运营者获取 登录iOS

  • 我试图从PHP中生成的url字符串中获得一个id,这取决于您正在查看的页面,例如id可以出现在不同的地方 或者 我只需要使用JQuery获取id部分,有什么想法吗

  • Project的构建没有任何错误,但是当我进入exploper并查找文件夹时,它没有生成。我尝试清理和构建,无效缓存和重新启动,但它不起作用。如何获取r.java文件? 这是构建日志 我在下面提到了这样的线程,并尝试了一切,但没有任何工作。 这个有什么已知的bug吗?

  • 当我在PHP中使用file\u get\u contents函数来更新我的电报机器人时,我知道如何获取第一个聊天ID或文本,但这个页面不仅仅适用于一个用户 它获取在我的机器人中键入的第一个用户聊天ID。当我对他的短信做出反应时,我会将我的消息发送给使用我的机器人的最新用户。。。我该怎么做?