【问题标题】:How can i recieve an object of class, when i'm click on ListView Item?当我单击 ListView 项时,如何接收类对象?
【发布时间】:2016-06-03 09:01:05
【问题描述】:

我有一个班级,其中有一些字段

public class Equipment {
    public String GlobalType;
    public String NameEquip;
    public String SerialNumEquip;
    public String EquipmentMark;
    public String IDequipment;
    public String StatusEquipment;
    public String InstDate;
    public String StateEquipment;
    public String GurEndDate;
    public String Location;}

ListView 我正在使用其中三个字段我有三个自定义布局 TextViews,但是,当我点击一个项目时,我需要接收一个类对象,我在ListView 中使用的字段

【问题讨论】:

  • setOnClicklisteners 到特定的 textViews 或者如果它的长字符串则使用 spannable onclicks。
  • 你能展示如何将 setOnClickListener 设置为 textview 吗?
  • 我的意思是所有的TextView

标签: java android class listview object


【解决方案1】:

这里是:

getList().setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Object object = parent.getItemAtPosition(position);
            // And then cast object to your type
        }
    });

【讨论】:

    【解决方案2】:

    我认为,您可以阅读information 关于 Android 中 ListView/RecyclerView/ViewHolder 模式的适配器 - 这是 Android 的基础知识。之后,您就可以轻松完成了。

    【讨论】:

    • 我读过,但还是不明白。我是java和android的新手,你能解释一下吗?
    • 您需要创建自己的适配器,这将简化您与列表中每个元素的交互。只需重复example
    【解决方案3】:

    在您的Adapter 中使用interface 作为Callback 并在您的ActivityFragment 处处理

    // ++++++++++ Inside Adapter
    private OnItemClickListener onItemClickListener;
    public interface OnItemClickListener {
        void onClicked(int viewId, int position, Object item);
    }
    // OnBinde / OnView
    if (onItemClickListener != null) {
        onItemClickListener.onClicked(myTappedView.getId(), getAdapterPosition(), item);
    }
    // ++++++++++ Inside Activity / Fragment
    public void onClicked(int viewId, int position, Object item) {
        if (item instanceof MyCustomObject) {
            // Do Some Things
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多