2014-09-22 220 views
0

我正在構建一個Android應用程序,基本上我希望它可以在屏幕上隨意點擊(任何地方)。現在我試圖將RelativeLayout設置爲android:clickable="true"和我的TextView相同,但是當我嘗試啓動Activity時,應用程序崩潰。我希望它顯示時間,讓我們說30秒,然後在這30秒內計算點擊次數。需要onclick幫助

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" 
    tools:context="com.orion.peky.thetapgame.Game">  

     <TextView 
      android:text="Tap to start" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_centerHorizontal="true" 
      android:textSize="50dp" 
      android:textColor="#FFFFFFFF" 
      android:id="@+id/tekst" /> 

    </RelativeLayout> 

活動

MAIN package com.orion.peky.thetapgame; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.TextView; 



public class Game extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_game); 
    } 
    TextView tekst=(TextView)findViewById(R.id.tekst); 
    int brojac=0; 

    public void broji(View view){ 
     brojac=brojac+1; 
     tekst.setText("Tapped "+brojac+" times"); 
    } } 
+0

安置自己的錯誤日誌 – 2014-09-22 19:44:10

+0

我不能得到它,我的筆記本電腦無法運行emulatio,我不能運行它在手機上同時連接到筆記本電腦... BTW我刪除了android:clickable =「true」和android:onclick =「broji」來運行它沒有它... – Peky5 2014-09-22 19:45:12

+0

移動'tekst =(TextView)findViewById R.id.tekst);'在'setContentView' – 2014-09-22 19:47:51

回答

0

你必須與onCreate()方法超出此行錯誤:

TextView tekst=(TextView)findViewById(R.id.tekst); 
int brojac=0; 

把內方法,聲明TextView tekst作爲一個類變量,然後你可以使用它你broji()方法太裏面:

public class Game extends Activity { 

private TextView tekst; 
private int brojac=0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_game); 
     tekst=(TextView)findViewById(R.id.tekst); 
    } 

    public void broji(View view){ 
     brojac=brojac+1; 
     tekst.setText("Tapped "+brojac+" times"); 
    } 
} 
+1

之後的活動內部onCreate,並且在這個世界中,沒有人能解釋任何東西。事實上,你值得+1沒有任何解釋:) – 2014-09-22 19:49:09

+0

現在工作我知道我有一個錯誤,但沒有注意到它是一個全局變量xd謝謝 – Peky5 2014-09-22 19:56:36