2013-02-12 16 views
8

Próbowałem uzyskać odpowiedzi z różnych podobnych pytań tutaj, ale nie dostałem żadnej odpowiedzi. Właściwie próbuję uzyskać wartości z wielu widoków tekstowych dowolnego elementu listview. Oto kod
ListView listView = getListView();Jak uzyskać wartości TextView z listy Wyświetl elementy?

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int postion, long id) {    
     String contactId = ((TextView) findViewById(R.id.cid)).getText().toString(); 
     String contactName= ((TextView) findViewById(R.id.contactName)).getText().toString(); 
     String contactNo= ((TextView) findViewById(R.id.contactNo)).getText().toString(); 
     Intent i = new Intent(getApplicationContext(), editContactActivity.class); 
     i.putExtra(TAG_ID, contactId); 
     i.putExtra(TAG_NAME, contactName); 
     i.putExtra(TAG_CONTACT_NO, contactNo); 
     startActivityForResult(i, 100);  
    } 
}); 

Jaki wynik otrzymuję, jestem coraz TextView wartość pierwszego elementu (pozycja) w ListView, albo jestem kliknięciu dowolnego elementu, ale otrzymuję TextView wartość pierwszego elementu (pozycja) w ListView, Tutaj jest to kod, jak otrzymuję wartości na pozostałej działalności

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.edit_contact); 

    btnSave = (Button) findViewById(R.id.btnSaveContact); 
    btnDelete = (Button) findViewById(R.id.btnDeleteContact); 

    Intent i = getIntent(); 
    cId = i.getStringExtra(TAG_CONTACT_ID); 
    cNameTxt = i.getStringExtra(TAG_CONTACT_NAME); 
    cNumberTxt = i.getStringExtra(TAG_CONTACT_NUMBER); 

    //Log.d("Value of contact name", cNameTxt); 
    //Log.d("Value of contact name", cNumberTxt); 


    TextView contactIdTxtView = (TextView) findViewById(R.id.cid); 
    cName = (EditText) findViewById(R.id.editCName); 
    cNumber = (EditText) findViewById(R.id.editCNumber); 


    cName.setText(cId); 
    cNumber.setText(cNumberTxt); 

} 

będę bardzo wdzięczny jeśli ktoś pomoże szczegółowo Dzięki Regard Akmal rasool

Odpowiedz

35

jestem coraz TextView wartość pierwszego elementu (pozycja) w ListView

Za każdym razem, gdy korzystasz findViewById() powiedzieć to patrzeć w tym samym wierszu tylko:

(TextView) view.findViewById(R.id.cid) 
//Add this ^^^^^ 

Wszystko razem :

@Override 
public void onItemClick(AdapterView<?> parent, View view, int postion, long id) { 
    String contactId = ((TextView) view.findViewById(R.id.cid)).getText().toString(); 
    //    Again use view ^^^^^ 
    // Repeat this for contactName and contactNo 
+6

Bundle dzięki Sam –

0

na obtai n wartość textView, spróbuj tego.

@Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      TextView text = (TextView)view.findViewById(R.id.correoEncuestador); 
      String message= text.getText().toString(); 
      Toast.makeText(getApplication(), message, Toast.LENGTH_LONG).show(); 
     } 
    } 
-1
View parentView = (View) view.getParent(); 
    textview1 = ((TextView) parentView 
      .findViewById(R.id.textview1)).getText().toString(); 

    textview2 = ((TextView) parentView 
      .findViewById(R.id.textview2)).getText().toString(); 

    textview3 = ((TextView) parentView 
      .findViewById(R.id.textview3)).getText().toString(); 
Powiązane problemy