小编Dev*_*arg的帖子

如何在适配器中执行最新的喷气背包“视图绑定”,绑定视图?

如何在适配器中执行最新的喷气背包“视图绑定”,以自动绑定视图。我没有使用 findVeiwById 或 Butterknife 或 Kotlin 合成工具???我已经使用了新的视图绑定,并且对于 Activity 和 Fragment 工作正常。在 build.gradle 文件中启用 viewBinding 后,我能够看到 ActivityHomeBinding 和 FragmentHomeBinding 文件。另外,我看到了用于项目 xml 的 ItemListBinding 类,即 item_list.xml。但是如何在recyclerview的adapter中使用这个文件

viewBinding {
        enabled = true
}
Run Code Online (Sandbox Code Playgroud)

主页活动文件

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityHomeBinding.inflate(layoutInflater)
        setContentView(binding.root)
}
Run Code Online (Sandbox Code Playgroud)

分段

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        binding = FragmentHomeBinding.inflate(inflater, container, false)
        val view = binding.root
        return view
}
Run Code Online (Sandbox Code Playgroud)

Base Adapter:想在这里使用视图绑定。我能够看到 ItemListBinding,但不知道如何使用它。

class BaseAdapter @Inject constructor(
    private val context: Context,
    private val picasso: …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack android-viewbinding

26
推荐指数
3
解决办法
1万
查看次数

如何为集合视图单元格内的视图添加手势?

我正在添加一个视图,该视图具有images(socialView)集合视图单元格内的一组视图(也具有其他视图),必须在该视图上执行公共单击。此单击不应与集合视图单元格单击相同。

我正在考虑在委托方法中添加UITapGestureRecognizerfor socialVieweverytime 。但我想知道这是正确的方法吗?此外,我想获取已被调用的索引路径/位置。CollectionViewcellForItemAtsocialView

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.socialViewTapped))

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "bidderAuctionCell", for: indexPath) as! BidderAuctionViewCell
     cell.socialView.addGestureRecognizer(tapGestureRecognizer)
}

@objc func socialViewTapped() {
     // Which item cell's socialview is clicked
}
Run Code Online (Sandbox Code Playgroud)

更新

我已按照以下建议完成,但我无法知道应该在自定义单元格中添加 UITapGestureRecognizer 的位置。以下是我创建的自定义单元格。

class CustomViewCell: UICollectionViewCell {

    var index : IndexPath!
    var socialViewDelegate : SocialViewDelegate!

    @IBOutlet weak var socialView: UIView!

    override init(frame: CGRect) {
        super.init(frame:frame)
        let tapGestureRecognizer …
Run Code Online (Sandbox Code Playgroud)

ios uitapgesturerecognizer uicollectionviewcell swift

5
推荐指数
1
解决办法
9891
查看次数

使用 Kotlin Android 时 supportActionBar 始终为 null

刚刚谷歌已经将 Kotlin 作为官方编程语言,所以开始将我的文件转换为 Kotlin。

在转换代码时,当我尝试使用 supportActionBar 时,我总是遇到空指针异常

    // set up action bar
    setSupportActionBar(mToolbar)
    supportActionBar!!.setDisplayShowTitleEnabled(false)

    // set the hamburger menu
    supportActionBar!!.setDisplayHomeAsUpEnabled(true)
    supportActionBar!!.setHomeButtonEnabled(true)
Run Code Online (Sandbox Code Playgroud)

我的 AndroidManifest 条目是

      <activity android:name=".activities.MainActivity"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar />
Run Code Online (Sandbox Code Playgroud)

没有操作栏将 windowActionBar 设置为 false。每次运行应用程序时,访问 supportActionBar 时都会出现空指针异常。谁能帮我解决这个问题吗?

android kotlin kotlin-android-extensions

-1
推荐指数
1
解决办法
1万
查看次数