यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
चयन-योग्य सरल सूची कैसे बनाएँ
उद्देश्य. टेक्स्ट आइटम की एक स्क्रॉल-योग्य सूची दिखाएँ और तब प्रतिक्रिया दें जब उपयोगकर्ता
एक (SINGLE) या कई (MULTIPLE) का चयन करे। ListView एक एम्बेड-योग्य Component है: आप इसे किसी भी
लेआउट में जोड़ सकते हैं, बिना किसी विंडो की जरूरत के।
उपयोग की गई APIs
new ListView(String[] items, ListView.ItemType type)— टेक्स्ट के एक ऐरे से सूची बनाता है।new ListView(String title, String[] items, ListView.ItemType type)— वही, शीर्षक हेडर के साथ।ListView.ItemType.SINGLE/ListView.ItemType.MULTIPLE— enum के केवल दो मान।SINGLE= टैप चयन करता है औरonConfirmको ट्रिगर करता है;MULTIPLE= चेकबॉक्स + “पुष्टि करें” बटन।ListView.onConfirm(Component.Action action)— पुष्टि करने पर ट्रिगर होने वाला callback। यह ईवेंट के स्रोत के रूप में स्वयंListViewप्राप्त करता है।ListView.getSelectedText()/getSelectedIndex()— पहला चयनित आइटम (टेक्स्ट/इंडेक्स), याnull/-1।ListView.getSelectedTexts()/getSelectedIndices()— सभी चयनित (MULTIPLE में उपयोगी)।ListView.confirmText(String)— पुष्टि बटन का टेक्स्ट (default"Confirmar", केवल MULTIPLE में)।
पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
String[] frutas = {"Maçã", "Banana", "Laranja", "Uva"};
// SINGLE: tap ही चुनता है और onConfirm ट्रिगर करता है
ListView lista = new ListView("Escolha uma fruta", frutas, ListView.ItemType.SINGLE);
lista.onConfirm(e ->
{
String texto = lista.getSelectedText(); // उदा.: "Banana"
int idx = lista.getSelectedIndex(); // उदा.: 1
Debug.log("Selecionado: " + texto + " (#" + idx + ")");
return null;
});
add(LAY_FILL, lista); // ListView एक Component है: सीधे लेआउट में आता है
}
}
नीचे का अंश केवल मुख्य भाग दिखाता है। इसे चलाने के लिए, इसे ऊपर दिए
MainWindowढाँचे में रखें।
न्यूनतम अंश
// स्रोत में सत्यापित: ListView.java
String[] frutas = {"Maçã", "Banana", "Laranja", "Uva"};
// SINGLE: tap ही चुनता है और onConfirm ट्रिगर करता है
ListView lista = new ListView("Escolha uma fruta", frutas, ListView.ItemType.SINGLE);
lista.onConfirm(e ->
{
String texto = lista.getSelectedText(); // उदा.: "Banana"
int idx = lista.getSelectedIndex(); // उदा.: 1
Debug.log("Selecionado: " + texto + " (#" + idx + ")");
return null;
});
layout.add(.9f, lista); // ListView एक Component है: सीधे लेआउट में आता है
// MULTIPLE: checkboxes; onConfirm केवल "Confirmar" बटन दबाने पर ट्रिगर होता है
ListView multi = new ListView("Selecione ingredientes", frutas, ListView.ItemType.MULTIPLE);
multi.confirmText("Adicionar");
multi.onConfirm(e ->
{
String[] escolhidas = multi.getSelectedTexts(); // सभी चयनित
return null;
});
layout.add(.9f, multi);
और गहराई में जाएँ
- एम्बेडेड के बजाय एक मोडल पॉपअप चाहिए? देखें popup-de-selecao.md।
- हजारों आइटम?
ListViewका उपयोग न करें (यह सब कुछ मटेरियलाइज़ करता है); देखें lista-virtual-grande.md। - विजेट गाइड: ListView · आधिकारिक स्रोत: अध्याय 15
क्या यह पृष्ठ उपयोगी था?प्रतिक्रिया के लिए धन्यवाद!