我是否破坏了Android Studio?

时间:2017-09-25 18:50:23

标签: java android android-studio filenotfoundexception

一周前,我成功使用了ListView,每次点击一个按钮时都会向其添加一个项目。然后我发现我需要在线程separate from the main UI thread中放置一些东西,并且在某个地方,某些东西已经破坏了。

现在我每次启动Android Studio时都会看到错误,说FileNotFoundException: Entry fileTemplates//code/Google Test Fixture SetUp Method.cc.ft not found in E:/Programs/Android Studio/lib/idea.jar我会去那个文件夹,我可以看到该文件存在。 This是我最接近解决问题的方法。

我还尝试过冷启动我的电脑和手机,重新安装Android Studio,创建一个全新的项目,以及文件>使高速缓存和重新启动无效,这些都没有帮助。

我能找到的唯一其他答案是因为它是32位系统上的64位版本。我确信情况并非如此,除非我以某种方式下载64位而专门寻找32位。

我不知道Android Studio,Gradle是否存在问题,与我作为测试平台使用的手机有什么关系,或者是什么。

我正在使用:

Windows 8.1 Pro(32位)

2x Pentium 3.2 GHz(x64)

Android Studio 2.3.3

API 15的最低SDK:Android 4.0.3 IceCreamSandwich

Java v1.8.0_144(根据" java -version"在命令提示符下)

Java 8更新60和144在我已安装的程序列表中,以及Java SE Development Kit 8更新60和144

这里是我提到的新项目的代码:

MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ArrayList<String> listItems;
    ArrayAdapter<String> adapter;
    ListView listview = (ListView) findViewById(R.id.listview);

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

        listItems = new ArrayList<>();
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
        listview.setAdapter(adapter);
    }

    public void sendAnother(View view) {
        adapter.add("button clicked");
    }
}

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="meh.myapplication.MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:text="Testing"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

    <ListView
        android:id="@+id/listview"
        android:layout_width="0dp"
        android:layout_height="431dp"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toTopOf="@+id/button"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:0)

事实证明,我所做的一切都是在onCreate()之前尝试初始化listview。声明它很好,但初始化打破了它。我想,尽管在xml中定义了View对象,直到运行时才会实例化吗?

我有任何破坏之前做过的备份,但它也被破坏了。或者,现在我再次搞砸了,部分破碎了。 (按钮不起作用,但我可以输出到列表视图)我想我认为这意味着Android Studio 可能中的内容已被破坏。我想这就是为什么我没有注意到我尝试初始化listview的区别。

我想如果你用锤子击打它足够长的话,任何摇滚都会破裂,嗯?