2016-08-04 20 views
0

私はいくつかのJavaコードを迅速に変換する方法を知っています。私はオンラインで見ましたが、役に立たないものは何も見つかりませんでした。私はj2objcを見つけましたが、私はそれをどのように動作させるか考えていません。私はコードの1行だけを翻訳する必要があります。.setItemChecked swiftの等価性

     listView.setItemChecked(myArrayList.indexOf(myName); 

.setItemは、swiftと同等のjavaにありますか?

単純に、オブジェクトがParseから照会され、それが本当であれば、リストビューのオブジェクトの隣にチェックマークを付けてください。しかし、リストビューで何かをチェックする方法がわからないので、すぐにアイテムをクリックしないでください。リストビューで項目をクリックすることなくチェックマークを表示するにはどうすればよいですか?

+0

を'それをやりましょう。それ以外の場合は、ここにコードを記入してください。 – t4nhpt

答えて

0

注:これはのみスウィフト2.2

ListViewのiOSの当量はUITableViewであるにも適用されます。 ArrayList<>のスウィフト相当物はArrayです。 iOS APIにsetItemCheckedというメソッドはありません。

私が考えることができる最も近いのはUITableViewAccessoryCheckmarkです。ただし、UISwitchを表のセルに配置し、そのonプロパティをtrueに設定することもできます。

表のセルのアクセサリタイプをUITableViewAccessoryCheckmark、またはスウィフトで.Checkmarkに設定する方法を示します。

まず、テーブルセルを取得する必要があります。それを得るにはNSIndexPathが必要です。 NSIndexPathは基本的部分とその行のセルがであるを記述するオブジェクトであるあなたのテーブルビューは一つだけのセクションを持っていると仮定すると、あなたはこのようなインデックスパスを作成することができます。indexOfObjectは奇妙な数を返すこと

let indexPath = NSIndexPath(
    forRow: myArray.indexOfObject(myName), 
    inSection: 0) 

注意オブジェクトは配列内にありません。また、同じオブジェクトが複数回配列に表示された場合は、最初の外観のインデックスが返されます。

今、あなたはインデックスパスを持っている、あなたが今のセルを取得することができます:

let cell = tableView.cellForRowAtIndexPath(indexPath) 

をその後、ちょうどaccessoryTypeプロパティ設定:あなたは `UITableViewCellAccessoryCheckmarkを検索し、このキーワードで実装することができる場合

cell?.accessoryType = .Checkmark 
+0

ありがとうございます。それはうまくいった! – Z10987654321X