android - ऑनक्लिक आइटम के साथ एंड्रॉइड लिस्ट व्यू




listview methods (6)

अच्छी तरह से अपने onitemClick आप चयनित मूल्य को deal जैसे भेज देंगे, और नई गतिविधि खोलते समय और अपने नए गतिविधि में भेजे गए डेटा को प्राप्त करें और चयनित आइटम से संबंधित आपका डेटा प्रदर्शित करेगा

list से नाम प्राप्त करने के list

String item = yourData.get(position).getName(); 

इरादे में डेटा सेट करने के लिए

intent.putExtra("Key", item);

दूसरी गतिविधि में डेटा प्राप्त करने के लिए

getIntent().getExtras().getString("Key")

https://code.i-harness.com

मैं एंड्रॉइड में एक नया प्रोग्रामर और नया हूं। मैं इस उदाहरण का उपयोग कर रहा हूं http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/ कार्यक्षमता- http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/ -listview http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/ और यह बहुत अच्छा काम करता है।

अब मैं अलग-अलग जानकारी के साथ एक नई गतिविधि खोलने के लिए एक समारोह को कॉल करने के लिए आइटम (डेल, सैमसंग गैलेक्सी एस 3, आदि) बनाना चाहता हूं।

उदाहरण के लिए:

अगर मैं डेल को छूता हूं, तो मुझे एक नई गतिविधि को डेल के बारे में जानकारी दिखाने के लिए दिखाना पड़ता है। अगर मैं सैमसंग को छूता हूं, वही बात।

मैं गुगल हो गया लेकिन कुछ भी उपयोगी नहीं मिला, कोई संकेत? मुझे लगता है कि यह मूल है, लेकिन मैं नया हूं इसलिए मुझे नहीं पता कि कहां से शुरू करना है


आप इरादों के साथ नई गतिविधियां शुरू करते हैं। किसी इरादे को डेटा भेजने का एक तरीका उस वर्ग को पार करना है जो इरादे में पार्सलबल लागू करता है। ध्यान दें कि आप कक्षा की एक प्रति उत्तीर्ण कर रहे हैं।

http://developer.android.com/reference/android/os/Parcelable.html

यहां मेरे पास एक आईटैमक्लिक है। मैं इरादा बना देता हूं और इरादे में एक संपूर्ण कक्षा डालता हूं। जिस वर्ग को मैं भेज रहा हूं वह पार्ससेल योग्य लागू हुआ है। युक्ति: आपको कक्षा को फिर से बनाने के लिए न्यूनतम रूप से आवश्यक चीज़ों पर केवल दृष्टांत को लागू करने की आवश्यकता है। मैं शायद एक फ़ाइल नाम या एक स्ट्रिंग की तरह कुछ सरल है कि एक निर्माता वर्ग बनाने के लिए उपयोग कर सकते हैं। नई गतिविधि बाद में एक्स्ट्रास प्राप्त कर सकती है और यह अनिवार्य रूप से कक्षा की एक प्रति अपने कन्स्ट्रक्टर विधि के साथ बना रही है।

जब मैं सूचीदृश्य में एक क्लिक प्राप्त करता हूं तो यहां मैं अपने ऐप के kmlreader क्लास को लॉन्च करता हूं।

नोट: नीचे सारांश कक्षा की एक सूची है जिसे मैं गुजर रहा हूं इसलिए प्राप्त करें (स्थिति) वर्ग को वापस लौटाता है, यह वही सूची है जो सूचीदृश्य को पॉप्युलेट करता है

List<KmlSummary> summary = null;
...

public final static String EXTRA_KMLSUMMARY = "com.gosylvester.bestrides.util.KmlSummary";

...

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
        long id) {
    lastshownitem = position;
    Intent intent = new Intent(context, KmlReader.class);
    intent.putExtra(ImageTextListViewActivity.EXTRA_KMLSUMMARY,
            summary.get(position));
    startActivity(intent);
}

बाद में नई गतिविधि में मैं पारसी वर्ग को बाहर खींचता हूं

kmlSummary = intent.getExtras().getParcelable(
                ImageTextListViewActivity.EXTRA_KMLSUMMARY);

//note:
//KmlSummary implements parcelable.
//there is a constructor method for parcel in
// and a overridden writetoparcel method
// these are really easy to setup.

public KmlSummary(Parcel in) {
    this._id = in.readInt();
    this._description = in.readString();
    this._name = in.readString();
    this.set_bounds(in.readDouble(), in.readDouble(), in.readDouble(),
    in.readDouble());
    this._resrawid = in.readInt();
    this._resdrawableid = in.readInt();
     this._pathstring = in.readString();
    String s = in.readString();
    this.set_isThumbCreated(Boolean.parseBoolean(s));
}

@Override
public void writeToParcel(Parcel arg0, int arg1) {
    arg0.writeInt(this._id);
    arg0.writeString(this._description);
    arg0.writeString(this._name);
    arg0.writeDouble(this.get_bounds().southwest.latitude);
    arg0.writeDouble(this.get_bounds().southwest.longitude);
    arg0.writeDouble(this.get_bounds().northeast.latitude);
    arg0.writeDouble(this.get_bounds().northeast.longitude);
    arg0.writeInt(this._resrawid);
    arg0.writeInt(this._resdrawableid);
    arg0.writeString(this.get_pathstring());
    String s = Boolean.toString(this.isThumbCreated());
    arg0.writeString(s);
}

गुड लक डैनी 117


आपको निश्चित रूप से आपको ArrayListAdapter विस्तार करना चाहिए और इसे अपने getView() विधि में कार्यान्वित करना चाहिए। दूसरा पैरामीटर (एक View ) फुलाया जाना चाहिए यदि यह मान null , इसका लाभ उठाएं और इसे भरने के बाद इसे onClickListener() सेट करें।

इसे अपने दूसरे getView() के पैरामीटर कहा जाता है जिसे convertView कहा जाता है:

convertView.setOnClickListener(new View.OnClickListener() {
  public void onClick(final View v) {
    if (isSamsung) {
      final Intent intent = new Intent(this, SamsungInfo.class);
      startActivity(intent);
    }
    else if (...) {
      ...
    }
  }
}

यदि आप ArrayListAdapter को विस्तारित करने के बारे में कुछ जानकारी चाहते हैं, तो मैं इस link अनुशंसा करता हूं।


मैं this संदर्भ से संदर्भ संदर्भ को बदलकर पूरी चीज के चारों ओर जाने में सक्षम था। this getapplicationcontext करने के लिए।


listview.setOnItemClickListener(new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?>adapter,View v, int position){
    Intent intent;
    switch(position){
      case 0:
        intent = new Intent(Activity.this,firstActivity.class);
        break;
      case 1:
        intent = new Intent(Activity.this,secondActivity.class);
        break;
     case 2:
        intent = new Intent(Activity.this,thirdActivity.class);
        break;
    //add more if you have more items in listview
   //0 is the first item 1 second and so on...
    }
    startActivity(intent);
  }

});

listview.setOnItemClickListener(new OnItemClickListener(){

//setting onclick to items in the listview.

@Override
public void onItemClick(AdapterView<?>adapter,View v, int position){
Intent intent;
switch(position){

// case 0 is the first item in the listView.

  case 0:
    intent = new Intent(Activity.this,firstActivity.class);
    break;
//case 1 is the second item in the listView.

  case 1:
    intent = new Intent(Activity.this,secondActivity.class);
    break;
 case 2:
    intent = new Intent(Activity.this,thirdActivity.class);
    break;
//add more if you have more items in listView
startActivity(intent);
}

});




elements