Ich habe dieses Android-Spiel entwickelt, und ich fragte mich warum, wenn ich diese TextView hinzufügen, meine App reagiert nicht mehr reagiert. Manche meiner Knöpfe drücken nicht, andere tun es und so weiter und so fort. Wenn ich dann TextView aus dem linearen Layout entferne, wird alles wieder normal. Bitte helfen Sie!Android App verlangsamt/wird unempfindlich, wenn TextView hinzugefügt wird
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 (alle die diesen Layouts innerhalb eines größeren, horizontalen linearen Layout)
<!-- 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>
Es tut mir leid für so viel Code zu veröffentlichen, aber ich habe keine Ahnung, warum das passiert, und ich hoffe, dass das Problem irgendwo in diesen Dateien ist.
Leider tritt das Problem immer noch auf. Buchstäblich die Tatsache, dass diese TextView dort existiert, wo sie jetzt ist, ist das Problem, aber ich weiß nicht, was ich dagegen tun soll. – TheFiveHundredYears