2017-01-07 4 views
1

Приложение для Android будет разбиваться, когда я нажму кнопку. Я использую это на своем устройстве, используя Android-устройство. я не уверен, если мой код виноват или что-то еще Прибор: Xiomi Примечание 4G android ver. 4.4 Android KitKat API 19 Android студия 2.2.3Очень простое приложение для Android onClick не работает

Screenshot1Screenshot2

1.activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.pckreatif.buttonclicked2.MainActivity"> 
<Button 
    android:text="Button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/button2" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:onClick="onClickButton (MainActivity)" /> 
<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" 
    android:id="@+id/textView" /> 
</RelativeLayout> 

2.MainActivity.java

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

public class MainActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
public void onClickButton(View v){ 
    TextView text1; 
    text1 = (TextView)findViewById(R.id.textView); 
    text1.setText("TEST"); 
} 
} 
+1

проверки этот ответ HTTP : //stackoverflow.com/questions/4153517/how-exactly-does-the-androidonclick-xml-attribute-differ-from-setonclicklistene – Noorul

ответ

3

Вы должны указать ссылку на метод следующим образом:

android:onClick="onClickButton" 

Так что ваши Button должны быть:

<Button 
    android:text="Button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/button2" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:onClick="onClickButton" /> 
+0

Этот код здесь есть авто add от Android Studio IDE, когда я выбираю onclick под кнопкой свойство. Никогда не подозревайте, что эта часть приводит к сбою моего приложения. – pckreatif

+0

@pckreatif выглядит странно. Android Studio никогда не предлагала такое свойство 'onClick' мне –

+0

Это стало как [link] (http://i67.tinypic.com/mjxoyg.png) – pckreatif

2

попробуйте просто .. почему вам нужны параметры там, не нужно писать так.

onClick="onClickButton" 
+0

мы сделали это одновременно. +1 –

+0

@AndriiAbramov yeah ,,, :) спасибо. –

0

Попробуйте изменить

android:onClick="onClickButton (MainActivity)" 

к

android:onClick="onClickButton" 
0

Вам просто нужно заменить onClick имя метода из onClickButton (MainActivity) в onClickButton Поскольку пространство не допускается в onClick

Просто Замените activity_main.xml с этим

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.pckreatif.buttonclicked2.MainActivity"> 
    <Button 
     android:text="Button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/button2" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:onClick="onClickButton"/> 
    <TextView 
     android:text="TextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/textView" /> 
</RelativeLayout>