0

たとえば、TreeViewer と、項目 (文字列) のリストを含む TreeViewer 内の List があります。

TreeViewer の \\最初の項目を 1 つ 1 つサブタスクします

サブタスク 2 1

サブタスク スリー ワン

サブタスク 4 2

サブタスク フォー スリー

TreeViewer からサフィックス「one」の項目を削除し、残りの項目を残したいと思います。アイテムを反復処理して、名前が文字列「one」で終わるアイテムを削除するにはどうすればよいですか?

サンプルコード:

TreeViewer treeViewer = new TreeViewer(moverComposite, SWT.BORDER | SWT.MULTI);
treeViewer.setContentProvider(new TreeContentProvider());
treeViewer.setLabelProvider(new LabelProvider());
GridData gridData = new GridData(SWT.DEFAULT, SWT.FILL, false, true);
gridData.widthHint = 215;
treeViewer.getControl().setLayoutData(gridData);
List listItems = new ArrayList();
listItems.addAll(getItems());
//This line I would want to iterate through the list and remove the list items whose names end with the string "one".
treeViewer.setInput(listItems);

誰かが私をここで早く助けてください、お願いします。

ツリー ビューアーの入力を設定する前に、リストを反復処理して、名前が "one" という文字列で終わるアイテム (接尾辞 "one" を持つアイテム) のみを削除しますか? リストから項目を削除した後、treeViewer の入力を設定します。

名前が文字列「one」で終わるアイテムを削除する方法はありますか? どうすればいいですか?私はここで立ち往生しています誰かが続行する方法を提案してください?

前もって感謝します。

4

1 に答える 1

0

getItems() で Item オブジェクトのリストが得られると仮定すると、

List<Item> listItems = new ArrayList<Item>();
foreach(Item item : getItems()){
  if(!item.getName().endsWith("one")){
     listItems.add(item);
   }
  }
treeViewer.setInput(listItems);
于 2014-06-25T06:43:54.957 に答える