一周前,我成功使用了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>
答案 0 :(得分:0)
事实证明,我所做的一切都是在onCreate()之前尝试初始化listview。声明它很好,但初始化打破了它。我想,尽管在xml中定义了View对象,直到运行时才会实例化吗?
我有任何破坏之前做过的备份,但它也被破坏了。或者,现在我再次搞砸了,部分破碎了。 (按钮不起作用,但我可以输出到列表视图)我想我认为这意味着Android Studio 可能中的内容已被破坏。我想这就是为什么我没有注意到我尝试初始化listview的区别。
我想如果你用锤子击打它足够长的话,任何摇滚都会破裂,嗯?