2017-06-01 2 views
0

私はこのAndroidゲームを開発していましたが、このTextViewを追加するたびにアプリが応答しなくなるのはなぜかと思いました。同じように、私のボタンのいくつかは押されず、他の人はそうするのです。その後、線形レイアウトからTextViewを削除すると、すべて正常に戻ります。助けてください!TextViewが追加されたときにAndroid Appが遅くなったり反応しなくなりました

MainActivity

public class MainActivity extends AppCompatActivity { 

boolean started = false; 
boolean place; 
boolean[] tiles = new boolean[60]; 
int prevId = 0; 
int times = 0; 
ArrayList<Integer> IDs = new ArrayList<>(); 

Typeface face; 
TextView num; 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.activity_main); 

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

    num = (TextView) findViewById(R.id.count); 

    face = Typeface.createFromAsset(getAssets(),"fonts/ZonaPro-Bold.otf"); 

    num.setTypeface(face); 
} 

public void press(View view) 
{ 
    place = false; 
    int id = view.getId() % 2131427400; 
    String test = "" + id; 

    ImageView img = (ImageView) view; 

    Log.d("TEST", test); 

    *****HERE, I HAVE LOTS OF LOGIC, AND IF-STATEMENTS INCLUDING SOME UNIMPORTANT VARIABLES***** 

    int abs = Math.abs(Math.abs(id - prevId)); 

    if(place && (abs == 1 || abs == 8) && tiles[id] == false && !(img.getTag().toString().equals("bound"))) 
    { 
     img.setImageResource(R.drawable.blue_sphere); 
     tiles[id] = true; 
     prevId = id; 
     times++; 
     IDs.add(id); 
     num.setText("" + times); 
    } 
} 

public void start(View view) 
{ 
    ImageView v = (ImageView) view; 

    if(!started) 
    { 
     started = true; 
     v.setImageResource(R.drawable.blue_sphere); 
     tiles[22] = true; 
     prevId = 22; 
     IDs.add(22); 
     num = (TextView) findViewById(R.id.count); 
     num.setText("0"); 
    } 
} 

public void undo(View view) 
{ 

    for(int ID : IDs) 
    { 
     ImageView re = (ImageView) findViewById(2131427400 + ID); 
     Log.d("TAG", re.getTag().toString()); 

     if(re.getTag().toString().equals("tile")) 
      re.setImageResource(R.drawable.gray_block); 
     else if(re.getTag().toString().equals("start")) 
     { 
      re.setImageResource(R.drawable.start_tile); 
      started = false; 
     } 
     else if(re.getTag().toString().equals("bound")) 
     { 
      re.setImageResource(R.drawable.newer_x); 
     } 
     else if(re.getTag().toString().equals("goal")) 
     { 
      re.setImageResource(R.drawable.new_goal); 
     } 
    } 

    Arrays.fill(tiles, false); 
    times = 0; 
} 
} 

Activity_Main.xml(これらのレイアウトが大きく、水平直線レイアウト内にあるすべての)

<!-- 1 --> 
<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:weightSum="9"> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_11" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_12" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_13" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_14" 
     app:srcCompat="@drawable/newer_x" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="bound"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_15" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_16" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_17" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_18" 
     app:srcCompat="@drawable/start_tile" 
     android:layout_weight="1" 
     android:onClick="start" 
     android:tag="start" /> 

****this is the text view I'm having problems with**** 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/count" 
     android:layout_weight="1" 
     android:textColor="@android:color/black" 
     android:gravity="center" 
     android:textSize="30sp" /> 

****************************************************** 

</LinearLayout> 

<!-- 2 --> 
<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:weightSum="9"> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_21" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile" /> 


    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_22" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_23" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_24" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_25" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_26" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_27" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_28" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

</LinearLayout> 

<!-- 3 --> 
<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:weightSum="9"> 


    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_31" 
     app:srcCompat="@drawable/newer_x" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="bound" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_32" 
     app:srcCompat="@drawable/newer_x" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="bound" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_33" 
     app:srcCompat="@drawable/newer_x" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="bound" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_34" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_35" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_36" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_37" 
     app:srcCompat="@drawable/newer_x" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="bound"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_38" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

</LinearLayout> 

<!-- 4 --> 
<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:weightSum="9"> 


    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_41" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_42" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_43" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_44" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_45" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_46" 
     app:srcCompat="@drawable/newer_x" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="bound"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_47" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_48" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

</LinearLayout> 

<!-- 5 --> 
<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:weightSum="9"> 


    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_51" 
     app:srcCompat="@drawable/new_goal" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="goal" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_52" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_53" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_54" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_55" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_56" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_57" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:id="@+id/_58" 
     app:srcCompat="@drawable/gray_block" 
     android:layout_weight="1" 
     android:onClick="press" 
     android:tag="tile"/> 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:id="@+id/undo" 
     app:srcCompat="@drawable/newer_undo" 
     android:layout_weight="1" 
     android:onClick="undo" 
     android:tag="undo"/> 

</LinearLayout> 

私はとても多くのコードを投稿して申し訳ありませんが、私は持っていますなぜこれが起こっているのかわかりません。問題はこれらのファイルのどこかにあることを期待しています。

答えて

0

あなたのstart(View view) onClickメソッドに問題があります。すでにonCreate(Bundle obj)でインスタンス化されているTextViewを参照しています。削除してみてください。 fill_parentをmatch_parentに置き換えます。

0

は、下の行に問題

//TextView num; 

まずコメントを解除し、このように。

はその後

num = (TextView) findViewById(R.id.count); 

(済のonCreateで宣言)再びラインの下に宣言しONSTART(からそれを削除しないでください)。

+0

残念ながら、問題はまだ発生しています。文字通り、このTextViewが現在どこに存在するのかが問題ですが、私はそれについて何をすべきか分かりません。 – TheFiveHundredYears

関連する問題