关于安卓页面跳转的问题

做了两个页面与页面跳转按钮,二页面想使用ListActivity,但是继承了ListActivity类后闪退
继承Activity时运行正常,但不能看到List效果,请大神帮忙看下代码,感谢

DEBUG
线程 [main](已暂挂(异常 RuntimeException))

ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) 行: 3254

ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) 行: 3350

ActivityThread.access$1100(ActivityThread, ActivityThread$ActivityClientRecord, Intent) 行: 223

ActivityThread$H.handleMessage(Message) 行: 1794
ActivityThread$H(Handler).dispatchMessage(Message) 行: 102

Looper.loop() 行: 148

ActivityThread.main(String[]) 行: 7224

Method.invoke(Object, Object...) 行: 不可用 [本机方法]

ZygoteInit$MethodAndArgsCaller.run() 行: 1230

ZygoteInit.main(String[]) 行: 1120

报错日志
04-11 10:03:01.957: E/MotionRecognitionManager(30956): mSContextService = android.hardware.scontext.ISContextService$Stub$Proxy@b530bca
04-11 10:03:01.967: E/MotionRecognitionManager(30956): motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@82fc13b
04-11 10:03:01.967: E/MotionRecognitionManager(30956): motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@82fc13b
04-11 10:03:01.967: D/AndroidRuntime(30956): Shutting down VM
04-11 10:03:01.967: E/AndroidRuntime(30956): FATAL EXCEPTION: main
04-11 10:03:01.967: E/AndroidRuntime(30956): Process: com.example.audiorecord, PID: 30956
04-11 10:03:01.967: E/AndroidRuntime(30956): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.audiorecord/com.example.audiorecord.Activity02}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3254)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.ActivityThread.access$1100(ActivityThread.java:223)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.os.Handler.dispatchMessage(Handler.java:102)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.os.Looper.loop(Looper.java:148)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.ActivityThread.main(ActivityThread.java:7224)
04-11 10:03:01.967: E/AndroidRuntime(30956): at java.lang.reflect.Method.invoke(Native Method)
04-11 10:03:01.967: E/AndroidRuntime(30956): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
04-11 10:03:01.967: E/AndroidRuntime(30956): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
04-11 10:03:01.967: E/AndroidRuntime(30956): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.ListActivity.onContentChanged(ListActivity.java:243)
04-11 10:03:01.967: E/AndroidRuntime(30956): at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:479)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.Activity.setContentView(Activity.java:2388)
04-11 10:03:01.967: E/AndroidRuntime(30956): at com.example.audiorecord.Activity02.onCreate(Activity02.java:38)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.Activity.performCreate(Activity.java:6877)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
04-11 10:03:01.967: E/AndroidRuntime(30956): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)
04-11 10:03:01.967: E/AndroidRuntime(30956): ... 9 more

Activity1:
package com.example.audiorecord;

import java.io.File;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.content.Intent;

public class RecordActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
super.onCreate(savedInstanceState);
/* 设置显示main.xml布局*/
setContentView(R.layout.main);
/* findViewById(R.id.button1)取得布局main.xml中的button1 /
Button button = (Button) findViewById(R.id.button1);
/
监听button的事件信息*/
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) { /* 新建一个Intent对象*/
Intent intent = new Intent(); /* 指定intent要启动的类*/
intent.setClass(RecordActivity.this, Activity02.class); /* 启动一个新的Activity /
startActivity(intent); /
关闭当前的Activity */
RecordActivity.this.finish(); } });
}
}

Activity2
package com.example.audiorecord;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class Activity02 extends ListActivity{
//声明
private List items = null;//存放名称

private List paths = null;//存放路径

private String rootPath = "/";

private TextView tv;
private Button Back;

public void onCreate(Bundle savedInstanceState) 
 { 

    super.onCreate(savedInstanceState); 
 /* 设置显示main2布局*/ 
 setContentView(R.layout.main2); 
 /* findViewById(R.id.button2)取得布局main.xml中的button2 */ 
 /* 监听button的事件信息*/ 




tv = (TextView) this.findViewById(R.id.TextView);  
 this.getFileDir(rootPath);//获取rootPath目录下的文件.  
 Back = (Button) findViewById(R.id.back);
 Back.setOnClickListener(new BackListener());
 } 

class BackListener implements OnClickListener
{
public void onClick(View v)
{
     Intent intent = new Intent();   /* 指定intent要启动的类*/ 
     intent.setClass(Activity02.this, RecordActivity.class);   /* 启动一个新的Activity */ 
    startActivity(intent);   /* 关闭当前的Activity */ 
     Activity02.this.finish();
}
}

public void getFileDir(String filePath) {

try{

this.tv.setText("当前路径:"+filePath);// 设置当前所在路径

items = new ArrayList();

paths = new ArrayList();

File f = new File(filePath);

File[] files = f.listFiles();// 列出所有文件

// 如果不是根目录,则列出返回根目录和上一目录选项

if (!filePath.equals(rootPath)) {

items.add("返回根目录");

paths.add(rootPath);

items.add("返回上一层目录");

paths.add(f.getParent());

}

// 将所有文件存入list中

if(files != null){

int count = files.length;// 文件个数

for (int i = 0; i < count; i++) {

File file = files[i];

items.add(file.getName());

paths.add(file.getPath());

}

}

ArrayAdapter adapter = new ArrayAdapter(this,

android.R.layout.simple_list_item_1, items);

this.setListAdapter(adapter);

}catch(Exception ex){

ex.printStackTrace();

}

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

super.onListItemClick(l, v, position, id);

String path = paths.get(position);

File file = new File(path);

//如果是文件夹就继续分解

if(file.isDirectory()){

this.getFileDir(path);

}else{

new AlertDialog.Builder(this).setTitle("提示").setMessage(file.getName()+" 是一个文件!").setPositiveButton("OK", new DialogInterface.OnClickListener(){

public void onClick(DialogInterface dialog, int which) {

}

}).show();

}

}}

MANIFEST
<?xml version="1.0" encoding="utf-8"?>
package="com.example.audiorecord"
android:versionCode="1"
android:versionName="1.0" >







android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
android:name=".RecordActivity"
android:label="@string/app_name" >







7个回答

之前遇到过类似问题。Activity02 如果继承ListActivity, 那么加载的layout中ListView id需要为@id/android:list。

kkxiaoxian
kkxiaoxian 感谢大神,问题已解决
2 年多之前 回复

ListActivity的默认布局由一个位于屏幕中心的全屏列表构成。如果你不想使用默认的布局,可以在onCreate()方法中通过setContentView()方法设定你自己的布局。如果指定你自己定制的布局,你的布局中必须包含一个id为"@id/android:list"的ListView。 若你还指定了一个id为"@id/android:empty"的view,当ListView中没有数据要显示时,这个view就会被显示,同 时 ListView会被隐藏。
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingLeft="8dp"

android:paddingRight="8dp">

android:id="@+id/android:title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="The following is a list:" />

android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1"
android:drawSelectorOnTop="false" />

android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#FF0000"
android:text="No data"
android:gravity="center_vertical|center_horizontal" />


是不是这个问题

恕我愚钝,我没找到你的listview....是不是你没有写?

Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'

你需要一个listview在Activity02中 并且 id 标明为android.R.id.list

坐拿赏金图片说明

sinat_35774597
ThomasZhangTY97 回复ThomasZhangTY97 : 试试不同的id命名方式
2 年多之前 回复
sinat_35774597
ThomasZhangTY97 回复ThomasZhangTY97 : 从日志上看应该是listview载入错误
2 年多之前 回复
sinat_35774597
ThomasZhangTY97 回复ThomasZhangTY97 : 从日志上看应该是listview载入错误。试试不同的id命名方式
2 年多之前 回复

java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list',ListView的id必须是使用系统指定的
android.R.id.list

ID没找到 先去找下ID 看下名字是否重复了 重复改之, 或者 根本就没有定义这个ID 。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
extjs+s2页面跳转
实现页面跳转问题,关于extjs的页面跳转问题。。
页面跳转问题页面跳转问题页面跳转问题
页面跳转问题页面跳转问题页面跳转问题页面跳转问题页面跳转问题页面跳转问题页面跳转问题页面跳转问题页面跳转问题
安卓页面跳转动画
安卓页面跳转动画
关于servlet的页面跳转经典例子
关于servlet的页面跳转经典例子,还有数据库的连接问题
C# 版安卓浏览器 不支持JS/页面跳转
C# 版安卓浏览器 不支持JS/页面跳转
控制器跳转内存一直增加的问题
当时那个帖子需要的只是一种很简单的实现。我举个例子:有控制器A和控制器B,B是从A条跳转的。 当时的问题是在B返回A后,再从A跳转到B,怎么保持B的状态不变? 但是这里引申了另一个问题,为什么B会改变? 先来简单说说在跳转时到底做了什么。。。A拿到B的实例,然后调用push或present跳转,然后window将B的view添加到自己的subviews上,这时B要么被导航控制器持有着,要么就...
Android中实现activity的页面跳转并传值
一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求。 本次我们就讲一下,Android中页面跳转以及传值的几种方式! Activity跳转与传值,主要是通过Intent类来连接多个Activity.   1. Intent显式意图   (1) 最常见最一般的页面跳转代码,很简单,如下: Inte
Android页面跳转的常用方式
第一种方式,用action来跳转。   1、使用Action跳转,如果有一个程序的 AndroidManifest.xml中的某一个Activity的IntentFilter段中定义了包含了相同的Action那么这个Intent 就与这个目标Action匹配。如果这个IntentFilter段中没有定义 Type,Category,那么这个 Activity就匹配了。但是如果手机中有两个以
安卓点击按钮实现跳转功能
用安卓的工程实现点击按钮页面跳转功能,适合新手
小型交友软件-android
使用安卓实现简单的注册、登陆以及页面跳转
安卓页面跳转的源代码
简单的应用安卓的Intent组件进行应用的页面跳转
Web应用中页面跳转的路径问题
在做web开发的时候  1.jsp页面中的路径 一般地我们将在中的标签中设置网页的基本路径。  所谓基本路径是指无论该jsp页面在网站何目录下,在该jsp中的请求元素都是依照这个基本路径进行资源定位的,这就解决了因该jsp所在目录的不同而对该请求元素的资源定位不同 eg: 现有目录结构如下 ------webapp -----
window phone 8.1页面导航
window phone8.1关于页面跳转
android——框架的实现系列(界面跳转的控制)
原创文章,转载请注明        请先阅读《 android——框架的实现系列(依赖注入的实现) 》                        《android——框架的实现系列(资源的依赖注入) 》        由于接触android不久,对于每个界面必须要写一个activity和fragment的方式深恶痛绝。不知道有什么好的办法,结合开发web的经验,希望能把这个控制层
web项目 链接跳转 路径问题
&amp;lt;div style=&quot;padding-top:50px;padding-left:20px;&quot;&amp;gt; &amp;lt;div style=&quot;width:80%;margin-bottom:10px;&quot;&amp;gt; &amp;lt;div style=&quot;text-align:right;padding-right:20px;&quot;&amp;gt; &amp;lt;c:choose&amp;gt;
安卓——Intent(实现页面跳转的两种方法)
下图中两个不同的方法就是两种页面之间跳转的情况1&amp;gt;跳转不返回数据2&amp;gt;跳转返回数据实例:第一种启动方式(跳转不返回数据)第二种启动方式(跳转返回数据)先看第一种:点击第一种启动方式按钮会出现右边的图,然后再点击Button按钮返回左边的界面,TextView中的内容没变。再看第二种启动方式不同的是,点击Button按钮返回左边的界面,TextView中的内容变成了你好。下面是所有代码An...
关于安卓页面跳转的简单运用
1.使用ViewPager创建一个导航欢迎界面。导航欢迎界面包括4个子页面,通过屏幕主界面进行滑动切换,子页面显示时对应的导航点加亮显示。 2.使用ListView组件创建最美景点页面,单击某一项,跳转到景点详情页面。 3.使用DatePicker创建星座查询页面,输入姓名并选择生日,单击“查询”按钮,跳转到出生日期对应的星座信息页面。
intent页面跳转遇到的意外停止问题
当写完一个单个intent页面跳转程序后,程序编译并未报错,但却在运行时报错。这是为什么呢。如图这是我的代码片段,设置单击跳转事件。 public class RegisterListener implements View.OnClickListener{ public void onClick(View arg0) { Intent intent=n
Android中的页面跳转详解
Android页面跳转方式: 1、通过class跳转 Intent intent = new Intent(); //(当前Activity,目标Activity) intent.setClass(MainActivity.this, TestActivity.class); startActivity(intent); 2、通过Activity的name跳转,其实与1相同 try {
android基础之页面间跳转传值,用Bundle+Intent
这是很基础的android知识了,适合刚刚接触android的朋友,下面用一个例子说明下android是怎么进行页面间跳转传值的,废话不多说了。 这是整个项目,包含一个4个页面,其中main_activity.xml为主页面,严格来说,android里面是一个页面(.xml)对应一个Activity,当然不排除Fragment,这个我们后面再讲吧! ! 好!现在咱们有了页面和Activity,
Android页面跳转实现方法讲解(纯java)
通用的页面跳转方法有两种: 1、Intent Intent适合Activity与Activity之间的跳转,按返回键可以直接返回前一页面 缺点:需要到Manifest注册Activity 2、setContentView 适合同一Activity里的不同View之间跳转
Weex 05 Native路径跳转JS踩坑
前言 weex页面跳转是很多开发者遇到的问题。navigator是Android和IOS的跳转模块,weex的Web是不支持navigator的,只能使用vue-route。 本篇主要讲Android的Native端的页面跳转问题。 正文 weex是使用模块navigator实现跳转的,该跳转只支持前进或者后退单个页面,这也比较符合Weex目前的市场定位-电商和平台类...
Android基础笔记(七)-页面跳转和数据传递
Activity简介 Activity的简单使用 Activity之间的跳转 意图传递数据 创建Activity获取返回数据 如何调用系统发送短信的页面 如何发送短信Activity简介Activity是Android的四大组件之一,它用于展示界面。它提供一个屏幕,用户可以用来交互,可以通过setContentView(View)来显示指定的控件。在一个android应用中,一个Activity通常
安卓页面跳转
一、显式Intent: 1、在点击事件里面创建一个Intent对象,传递两个参数,第一个是上下文,第二个是下一个要启动的活动名.class 2、调用startActivity方法,在这个方法里面传递刚才创建的对象 示例: Button button1 = (Button) findViewById(R.id.button); button1.setOnClickListener
关于用户控件的页面跳转问题
因为用户控件页面不支持 NavigationService.Navigate(new Uri("/page2.xaml", UriKind.Relative)) 所以从UserControl页面导航到PhonePage页面,需要用到RootVisual根视图容器里的方法来实现页面跳转: private void OnControl1ButtonClick(object
关于Servlet页面跳转问题
简单来说,有三种方法: 1.使用response.sendRedirect()跳转,此种方式有一个弊端是当使用request对象setAttribute()时,跳转到的页面get不到值,只有使用session对象setAttribute()才可getAttribute()到,而这样就会增加系统开销,我们知道,能使用request的绝不使用session。于是,此时就有第二种方式; 2.
Android-Weex之多应用选择窗口处理及页面之间的跳转
weex在Android开发中,如何进行多页面跳转和设置唯一应用模式(如何避开多应用选择模式)
关于springmvc 页面跳转问题
一共有普通跳转,带参数跳转,装发,重定向 这4种 @Controller @RequestMapping("/test") public class HelloAction { @RequestMapping("/hello") public String zhHello(){ //普通转发,直接到页面,简单快捷 return "hello"; } @RequestMappin
android最新面试(非技术性问题)
Android 关于android非技术问题 1.1.  为什么看好android 1android的开发商google公司实力 2google公司研发android的最终目的 3目前移动市场的格局 4Android的支持者 5Android和其他移动操作系统的技术分析 Q2以前是否从事android的工作,做过哪些工作    这个问题主要考察应聘者是否有工作经验(从非技术角度
Android - 应用内页面跳转设计与六种常用的页面跳转实践
1. 应用内页面跳转设计应用页面跳转与应用的用户体验有直接相关。 如果应用为了看一个详情,跳转了大于3个界面,就很大可能流失用户和被用户吐槽,更不用说,跳进去又退出大于3个界面才回到主界面。 应用页面的跳转往往随着应用变大,页面增多,界面跳转出现的 bug 也就随之增多。应用页面跳转我建议纵向深度不超过3层,最多3层即可; 如果项目过大,可分为子模块主界面,后分散界面,具体怎么跳转需要按需求而定
intent实现页面跳转闪退
主页面实现跳转的语句: btn_query_goto.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Intent intent=new Intent(); intent.setClass(SplashActivity.
android 页面跳转代码
Activity跳转页面代码 Intent intent = new Intent(); intent.setClass(MainActivity.this, activity_second.class); startActivity(intent); 其中 activity_second为要跳转的页面
android两种方式页面跳转的下例子
android两种方式页面跳转的下例子,一种直接跳转,另一种携带结果跳转并具有返回功能
android中页面的跳转成功,但是页面上的布局丢失问题
前段时间学习android的过程中遇到了一系列大大小小的问题,现在尝试着整理一下。。。 android页面能够跳转成功,但是页面上一片空白,检查后发现onCreate()方法这里出了问题: 我的是这样的: 而实际上应该是重写onCreate()方法: onCreate()与@Override onCreate()是不一样的,这里要注意
eclipse 安卓开发,跳转页面
1,先创建新的 Activity文件 与 xml 文件 setContentView(R.layout.activity_main); 修改连接的xml文件 2,在主 Activity文件 , void onCreate 中写如下代码: ImageView button = (ImageView) findViewById(R.id.imageView8); button.
移动开发 - Android - 实现两个页面(Activity)的简单跳转(Intent)
我们要实现的页面跳转如下图所示: 第一个页面: 通过点击第一个按钮,实现跳转: 通过点击第二个按钮实现跳转后,点击返回按钮(结束界面)因为之前的界面还没有结束,当第二个界面结束后,露出第一个界面。 使用Intent实现页面的跳转有两种方式。 1.无返回结果的页面跳转:startActivity(intent); 2.有返回结果的页面跳转:startA
关于Android的Button响应页面跳转问题
一般来说,Android应用程序中的Button响应事件有两种书写方式   Button button=null; button.setOnClickListener(new ButtonOnClickListener()); 下面再写一个监听的内部类 class ButtonOnClickListener  implements  OnClickListener {
php页面跳转php页面跳转
php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转php页面跳转
androidstudio activity页面跳转
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_paren
Android中多界面跳转的一个简单应用
多界面跳转的步骤:   一,在layout布局中编辑好布局   二,在src文件夹下写逻辑   三,设置权限   四,在清单文件下注册新建的Activity 1, android:name="com.example.jump.homeActivity" > 2, 3, 4. 下面模拟了一个多界面跳转的实例,从启动页跳转到第二个界面,然后分别跳转到发短信的界面,打电话的界面,获取手
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符