2014-01-16 2 views
1

Код должен принимать два номера через два поля edittext и по щелчку кнопки textview должен печатать результат. Итак, может ли кто-нибудь сказать мне, что я делаю неправильно?Почему мой EditText возвращает пустую или пустую строку?

public class MainActivity extends Activity { 

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

    final Button c = (Button) findViewById(R.id.sum_button); 

    c.setOnClickListener(new OnClickListener() { 

     public void onClick(View arg0) { 
      EditText n1 = (EditText) findViewById(R.id.add_no1); 
      EditText n2 = (EditText) findViewById(R.id.add_no2); 
      TextView sum_result = (TextView)findViewById(R.id.sum_result); 
      int sum = 0,i=0,j=0; 
      i=Integer.getInteger(n1.getText().toString()); 
      j=Integer.getInteger(n2.getText().toString()); 
      sum=i+j; 
      sum_result.setText("the sum result is "+ sum); 


     } 
    }); 


} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

}

Вот мой XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#000000" 
    android:orientation="horizontal" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/number_ip_layout" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="83dp" 
     android:orientation="horizontal" 
     android:visibility="visible" 
     android:weightSum="100" > 

     <EditText 
      android:id="@+id/add_no1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="30dp" 
      android:layout_weight="40" 
      android:background="#ffffff" 
      android:cursorVisible="true" 
      android:ems="10" 
      android:inputType="number" > 

      <requestFocus /> 
     </EditText> 

     <EditText 
      android:id="@+id/add_no2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="100dp" 
      android:layout_weight="40" 
      android:background="#ffffff" 
      android:cursorVisible="true" 
      android:ems="10" 
      android:inputType="number" /> 
    </LinearLayout> 

    <Button 
     android:id="@+id/sum_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/linearLayout1" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="56dp" 
     android:background="#550000" 
     android:text="sum" /> 

    <TextView 
     android:id="@+id/sum_result" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/sum_button" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="128dp" 
     android:textSize="20sp" 
     android:singleLine="true" 
     android:text="" /> 

</RelativeLayout> 
+0

отправьте свой xml? –

+0

@AhmadRaza ???? –

+0

сделал U попробовать отладки ??? и используя Integer.parseInt вместо getInt ?? –

ответ

0

Его не ответ, но это будет полезно найти проблему.

Обновите свою функцию onCreate. и посмотреть вывод журналов в событии onClick. дайте мне знать выход журналов.

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

     final Button c = (Button) findViewById(R.id.sum_button); 
     final EditText n1 = (EditText) findViewById(R.id.add_no1); 
     final EditText n2 = (EditText) findViewById(R.id.add_no2); 
     final TextView sum_result = (TextView)findViewById(R.id.sum_result); 

     c.setOnClickListener(new OnClickListener() { 

      public void onClick(View arg0) { 
       int sum = 0,i=0,j=0; 
       Log.i("n1 is:", n1.getText().toString()+" number"); 
       Log.i("n2 is:", n2.getText().toString()+" number"); 
       i=Integer.getInteger(n1.getText().toString()); 
       j=Integer.getInteger(n2.getText().toString()); 
       sum=i+j; 
       sum_result.setText("the sum result is "+ sum); 

      } 
     }); 


    } 
Смежные вопросы