2015-06-04 2 views
0

Я очень хорошо разбираюсь в Java-кодировании и пытаюсь использовать кнопку (в приложении для Android) для обновления текстового вида. Код, который я использую в настоящее время, приводит к сбою моего приложения, когда я пытаюсь нажать кнопку.Кнопка XML/Java Нажмите, чтобы изменить TextView

Вот мой XML

<LinearLayout> 
<TextView 
     android:id="@+id/myTextView_text_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="0" /> 

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:onClick="calculateNewNumber" 
     android:text="Calculate New Number" /> 
</LinearLayout> 

И вот мой Java

package com.example.android.myapp; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

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

int startNumber = 0; 

public void calculateNewNumber(View view) { 
    startNumber = startNumber + 1; 
    display(startNumber); 
} 

private void display(int number) { 
    TextView myTextView = (TextView) findViewById(
      R.id.myTextView_text_view); 
    myTextView.setText("" + number); 
} 
} 

Спасибо за любую помощь вы можете дать.

+1

Какая ошибка дает вам? –

+1

Опубликовать stacktrace – 3xplore

+0

Пожалуйста, взгляните на это, http://stackoverflow.com/questions/23353173/unappro-myapp-has-stopped-how-can-i-solve-this и покажите нам свою ошибку – Gosu

ответ

-2

Сам код работает отлично, поэтому проблема должна быть связана с вашим XML, если вы предоставили его здесь полностью.

Используя этот XML, ваш код MainActivity отлично подходит для меня.

<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:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 

    <LinearLayout 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent"> 
     <TextView 
      android:id="@+id/myTextView_text_view" 
      android:layout_width="60dp" 
      android:layout_height="wrap_content" 
      android:text="0" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="calculateNewNumber" 
      android:text="Calculate New Number" /> 
    </LinearLayout> 

</RelativeLayout> 
+0

Исключение составляет только нажатие кнопки, поэтому я думаю, что макет работает нормально – 3xplore

+0

Вы действительно попробовали XML, который я разместил? Поскольку вы не предоставляете никаких сведений об ошибке, я не могу сказать точно, но ваше исключение может быть вызвано, потому что в вашем LinearLayout отсутствуют требуемые поля, такие как высота, ширина и т. Д. ... –