2013-08-14 37 views
6

Tôi muốn thêm một TextView và đặt giá trị của nó tự động trong ListView và On nhấp vào mục tôi muốn nhận được giá trị của mục được nhấp.Làm thế nào để thêm một TextView động trong các mục ListView Android?

Tôi có một mảng

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

My TextView XML

<?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> 

My ListView XML

<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"/> 

Xin hãy giúp tôi làm thế nào có thể tôi đặt những giá trị trong mảng vào danh sách w .i am mới trong android.Thanks

+0

mỗi hàng với một TextView đơn ? – Raghunandan

+0

yup mỗi mục sẽ chỉ có một lần xem văn bản có văn bản từ mảng –

+0

Thay vì thêm nhiều lần xem văn bản hơn, đó là một thực hành không tốt và tiêu thụ nhiều bộ nhớ. Chỉ cần sử dụng một lần xem văn bản đơn và thêm '\ n' vào' văn bản' mọi lúc bạn muốn thêm một lần xem văn bản mới. Hi vọng điêu nay co ich. – user2652394

Trả lời

2

Sử dụng mã này tôi hy vọng đây là những gì u muốn

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

cảm ơn tôi đã nhận được giải pháp. .. !!!!! –

1

Tôi hy vọng điều này sẽ giúp bạn ..

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); 
       } 

      }); 

    } 
Các vấn đề liên quan