- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我在我的 Android 项目中,收到以下错误。我已经检查了几乎所有类似的问题,我正在尝试在这里使用一些解决方案
RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
但它们似乎不适用。
FATAL EXCEPTION: main
Process: com.spicycurryman.getdisciplined10.app, PID: 1309
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spicycurryman.getdisciplined10.app/com.spicycurryman.getdisciplined10.app.MainActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
at android.app.ListActivity.onContentChanged(ListActivity.java:243)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:293)
at android.app.Activity.setContentView(Activity.java:1929)
at com.spicycurryman.getdisciplined10.app.MainActivity.onCreate(MainActivity.java:32)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
位于 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5017) 在 java.lang.reflect.Method.invokeNative( native 方法) 在 java.lang.reflect.Method.invoke(Method.java:515)
显然,我必须有一个 id 属性为“android.R.id.list”的 ListView,并且我不确定在这种情况下在哪里实现它。
这是我的 MainActivity Java:
package com.spicycurryman.getdisciplined10.app;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.SeekBar.OnSeekBarChangeListener;
import com.triggertrap.seekarc.SeekArc;
import com.triggertrap.seekarc.SeekArc.OnSeekArcChangeListener;
public class MainActivity extends ListActivity {
private SeekArc mSeekArc;
private SeekBar mRotation;
private SeekBar mStartAngle;
private SeekBar mSweepAngle;
private SeekBar mArcWidth;
private SeekBar mProgressWidth;
private CheckBox mRoundedEdges;
private CheckBox mTouchInside;
private CheckBox mClockwise;
private TextView mSeekArcProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSeekArc = (SeekArc) findViewById(R.id.seekArc);
mSeekArcProgress = (TextView) findViewById(R.id.seekArcProgress);
mRotation = (SeekBar) findViewById(R.id.rotation);
mStartAngle = (SeekBar) findViewById(R.id.startAngle);
mSweepAngle = (SeekBar) findViewById(R.id.sweepAngle);
mArcWidth = (SeekBar) findViewById(R.id.arcWidth);
mProgressWidth = (SeekBar) findViewById(R.id.progressWidth);
mRoundedEdges = (CheckBox) findViewById(R.id.roundedEdges);
mTouchInside = (CheckBox) findViewById(R.id.touchInside);
mClockwise = (CheckBox) findViewById(R.id.clockwise);
mRotation.setProgress(mSeekArc.getArcRotation());
mStartAngle.setProgress(mSeekArc.getStartAngle());
mSweepAngle.setProgress(mSeekArc.getSweepAngle());
mArcWidth.setProgress(mSeekArc.getArcWidth());
mProgressWidth.setProgress(mSeekArc.getProgressWidth());
mSeekArc.setOnSeekArcChangeListener(new OnSeekArcChangeListener() {
@Override
public void onStopTrackingTouch(SeekArc seekArc) {
}
@Override
public void onStartTrackingTouch(SeekArc seekArc) {
}
@Override
public void onProgressChanged(SeekArc seekArc, int progress,
boolean fromUser) {
mSeekArcProgress.setText(String.valueOf(progress));
}
});
mRotation.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar view, int progress, boolean fromUser) {
mSeekArc.setArcRotation(progress);
mSeekArc.invalidate();
}
});
mStartAngle.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar view, int progress, boolean fromUser) {
mSeekArc.setStartAngle(progress);
mSeekArc.invalidate();
}
});
mSweepAngle.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar view, int progress, boolean fromUser) {
mSeekArc.setSweepAngle(progress);
mSeekArc.invalidate();
}
});
mArcWidth.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar view, int progress, boolean fromUser) {
mSeekArc.setArcWidth(progress);
mSeekArc.invalidate();
}
});
mProgressWidth.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar view, int progress, boolean fromUser) {
mSeekArc.setProgressWidth(progress);
mSeekArc.invalidate();
}
});
mRoundedEdges.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
mSeekArc.setRoundedEdges(isChecked);
mSeekArc.invalidate();
}
});
mTouchInside.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
mSeekArc.setTouchInSide(isChecked);
}
});
mClockwise.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
mSeekArc.setClockwise(isChecked);
mSeekArc.invalidate();
}
});
}
}
这是我对应于Java的activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:seekarc="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<FrameLayout
android:id="@+id/seekArcContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<com.triggertrap.seekarc.SeekArc
android:id="@+id/seekArc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="30dp"
seekarc:rotation="180"
seekarc:startAngle="30"
seekarc:sweepAngle="300"
seekarc:touchInside="true"
seekarc:arcColor="#ff2ca3cc"
seekarc:progressColor="#ffcc2d2a"/>
<TextView
android:id="@+id/seekArcProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="0"
android:textSize="40sp" />
</FrameLayout>
<include
android:id="@+id/controls"
layout="@layout/controls" />
</LinearLayout>
我不确定如何解释该错误,因为我的 xml 文件不需要添加所要求的内容,对吗?
最佳答案
您的activity_main.xml
必须有一个ID为@android:id/list
的ListView
引用文档
ListActivity has a default layout that consists of a single, full-screen list in the center of the screen. However, if you desire, you can customize the screen layout by setting your own view layout with setContentView() in onCreate(). To do this, your own view MUST contain a ListView object with the id "@android:id/list" (or list if it's in code)
但是在你的代码中你在哪里有setListAdapter
?您也可以扩展 Activity
而不是 ListAcitvity
关于java - 尽管有 xml,但仍因缺少 ListView 而收到 RuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24211794/
我真的很难弄明白这一点。当我查看 logcat 指向错误的位置时,它指向这一行: throw new RuntimeException(i); 在里面 public void onDetach() {
@Transactional (noRollbackFor=RuntimeException.class) public void methodA (Entity e){ service.met
我正在开发简历应用程序并遇到以下异常 在gradle文件上,我尝试了所有可能的解决方案,使缓存重启无效,并且干净的gradle不起作用 java.lang.RuntimeException:java.
我的项目在 Android Studio 3.0.1 上的 Whatchap 中,这是我的设计 gradle。build.gradle(应用程序) 应用插件:'com.android.applicat
// Top-level build file where you can add configuration options common to all sub-projects/modules.
您好,目前我正在开发包括解析服务器的项目,并且在将解析库添加到我的项目后,当我运行它时,它显示此错误,任务“:app:checkDebugDuplicateClasses”执行失败。 Exec
我找到了 another post显示我们如何创建我们自己的检查异常,它也返回不同于 500 的 HTTP 状态代码。但是,我需要它是一个 RuntimeException。然后,我找到了WebApp
我尝试在 7.40 系统上演示具有动态方法名称的 CALL METHOD 语句。我使用下面的测试代码,在第 27 行得到一个 ABAP 运行时错误。异常描述中的错误分析状态 ... 在类 LCL 中,
我的ViewModel类抛出了RunTimeException。它基本上不能创建ViewModel类的实例。这是堆栈跟踪: 2019-05-29 01:27:56.700 9698-9698/com.
我安装了Hive 0.9.0,运行它时出现错误: ./hive Logging initialized using configuration in jar:file:/usr/lib/hive-0.
当我尝试在 android 4.1.1(galaxy nexus)上运行 opencv(2.4.2) sample3时。我收到RuntimeException。 Logcat指向此处:(android
Java中除了RuntimeException之外还有其他可能发生的异常吗?谢谢。 最佳答案 是的,有三种种。 检查异常 编译器会让您知道何时可以抛出它们,很可能是由于环境中的故障。 如果程序可以
这个问题已经有答案了: Why runtime exception is unchecked exception? (5 个回答) 已关闭 7 年前。 我知道受检查的异常继承自 Exception并且
这里发生了什么? 为什么 IOException (RemoteException) 的检查子级会转换为 RuntimeException? 摘自here的片段 import java.rmi.Rem
源代码(osmand)没有错误 我使用了 eclipse 和 sdk 模拟器 2.2,从 googlecode checkout (osmand应用程序) 我的代码: public void onCr
我开始研究线程,我不明白为什么下面的简单代码不起作用。它正在抛出: RuntimeException: can't create handler inside thread that has not
我想为自己破例。但是当我抛出异常时,程序就关闭了。那么我怎样才能运行我的方法3次然后关闭程序呢? (我的程序在intArray之后关闭,但我想遍历dobleArray和charArray) 这是我的异
我有一个扩展 HttpServlet 的类包含以下两个方法。当客户端向 Tomcat 服务器上运行的 Web 应用程序发出请求时,http 请求将通过此类处理,但是如果 doSomething 方法抛
在很多地方,我都会遇到几个检查异常,例如 IOException、ParseException、JSONException 等。我必须做出两个选择 - 通过在方法签名末尾添加 throws 来引发相同
RuntimeExceptions 应该指示编程错误,我希望我的应用程序在我的可观察对象中的某些东西抛出 RuntimeException 时崩溃。 最好的方法是什么?现在我正在考虑这个解决方案(它是
我是一名优秀的程序员,十分优秀!