2013-01-24 25 views
0

我有在列表視圖中添加2個數字的問題。這是我的2行文本視圖(對於每個數字)。 textView2忽略顯示從編輯文本到列表視圖的用戶輸入

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:text="0" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:gravity="center_horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text=" - " 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="0" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

</LinearLayout> 

當用戶添加號碼時,它將顯示在列表視圖中。第二個數字需要是11 - 用戶插入的那個數字。這一切都工作,但我不知道如何顯示第二個數字。

public class MainActivity extends Activity { 
    ArrayAdapter<String> m_adapter; 
    ArrayList<String> m_listItems = new ArrayList<String>(); 
    Button bt; 
    EditText et; 
    TextView tv; 
    ListView lv; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     // Inflate the menu; this adds items to the action bar if it is present. 
       bt = (Button) findViewById(R.id.button1); 
       et = (EditText) findViewById(R.id.editText1); 
       tv = (TextView) findViewById(R.id.textView1); 
       lv = (ListView) findViewById(R.id.lista); 
       m_adapter = new ArrayAdapter<String>(this,R.layout.row, R.id.textView1); 
       lv.setAdapter(m_adapter); 
       //final String input = et.getText().toString(); 

       bt.setOnClickListener(new View.OnClickListener() { 

        public void onClick(View v) { 

         String input = et.getText().toString(); 
         if(null!=input&&input.length()>0){  
         String maxpunti = "11"; 
         int a = Integer.parseInt(maxpunti); 
         int b = Integer.parseInt(input); 
         int c = a-b; 
         String input2 = String.valueOf(c); 
         m_adapter.add(input); 
         m_adapter.add(input2); 
         m_adapter.notifyDataSetChanged(); 


         } 
        } 
       }); 
    } 
} 

回答

1

ArrayAdapter <字符串>的默認實現綁定一個STRINGVALUE到一個文本框。由於在列表視圖中每個listitem或「row」有多個視圖(您需要實現/擴展您自己的ArrayAdapter並覆蓋getView方法) 您可以爲您設置任意數量的自定義視圖的值列表項的佈局。

a simple example,也可能是把眼光放在如何列表視圖/ adpters android的工作,因爲他們是非常核心的

+0

感謝您的回覆索姆文檔。是個好主意! –

相關問題