2013-08-14 9 views
6

मैं एक टेक्स्ट व्यू जोड़ना चाहता हूं और सूची दृश्य में गतिशील रूप से इसके मूल्य को सेट करना चाहता हूं और उस आइटम के क्लिक पर मैं क्लिक किए गए आइटम का मूल्य प्राप्त करना चाहता हूं।ListView आइटम एंड्रॉइड में गतिशील रूप से एक टेक्स्ट व्यू कैसे जोड़ें?

मैं एक सरणी है

String[] statesList = {"listItem 1", "listItem 2", "listItem 3"}; 

मेरे TextView एक्सएमएल है

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:textSize="16sp" 
    android:textStyle="bold" 
    > 
</TextView> 

मेरे ListView एक्सएमएल

<ListView 
      android:id="@+id/list" 
      android:choiceMode="singleChoice" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="10dp" 
      android:layout_width="290dp"/> 

कृपया मेरी मदद कैसे कर सकता मैं में उन मूल्यों को निर्धारित listvie के लिए सरणी डब्ल्यू मैं android.Thanks

+0

एक भी TextView के साथ प्रत्येक पंक्ति है ? – Raghunandan

+0

yup प्रत्येक आइटम में केवल एक टेक्स्टव्यू होगा जिसमें सरणी –

+0

से टेक्स्ट होगा, हर बार अधिक टेक्स्टव्यू जोड़ने के बजाय, यह एक खराब अभ्यास है और स्मृति का बहुत से उपभोग करता है। बस एक टेक्स्टव्यू का उपयोग करें और जब भी आप एक नया टेक्स्टव्यू जोड़ना चाहते हैं तो 'text' में' \ n' जोड़ें। उम्मीद है की यह मदद करेगा। – user2652394

उत्तर

2

उपयोग में नया हूँ इस कोड मैं इस आशा यू क्या चाहते

public void showstatesList() { 
     listView = (ListView) findViewById(R.id.list); 
     String[] statesList = {"listItem 1", "listItem 2", "listItem 3"}; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_list_item_1, android.R.id.text1, statesList); 
     listView.setAdapter(adapter); 
     listView.setOnItemClickListener(new OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
       int itemPosition  = position; 
       String itemValue = (String) listView.getItemAtPosition(position); 

//    Toast.makeText(getApplicationContext(), 
//    "Position :"+itemPosition+" ListItem : " +itemValue , Toast.LENGTH_LONG) 
//    .show(); 
       } 
     }); 
} 
+0

धन्यवाद मुझे समाधान मिला। .. !!!!! –

1

मुझे आशा है कि यह तुम्हारी मदद करेगा ..

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 

public class MainActivity extends Activity { 
    TextView tv; 
    ListView lv; 
     String s=""; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     tv=(TextView) findViewById(R.id.textView1); 
     lv=(ListView) findViewById(R.id.listView1); 

     String value[]={"asda","Ansar","Nisam"}; 
     ArrayAdapter<String>adapter=new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1,android.R.id.text1,value); 
     lv.setAdapter(adapter); 
//list item click 
      lv.setOnItemClickListener(new OnItemClickListener() { 

       @Override 
       public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
         long arg3) { 
        s=s+("\n")+((String) lv.getItemAtPosition(arg2)); 
        tv.setText(s); 
       } 

      }); 

    } 
संबंधित मुद्दे