마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

오류 좀 잡아주시면 감사하겠습니다.

0 추천

첫번째 액티비티에서 버튼을 클릭하면 현재 시간을 textview에 뿌려줍니다.

이 뿌려준 값을 저장버튼을 누르면 intent로 2번째 액티비티로 arraylist로 넘겨줄려고 합니다.

주황색 부분이 이상한것 같은데 뭐가 문제인지 알려주시면 감사하겠습니다.

 

 

package com.example.gps0528;

import java.util.ArrayList;

import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class dbActivity extends ListActivity {
 
  private ArrayList<String> list;
  private ArrayAdapter<String> adapter;
 
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity2nd);
    
     list = new ArrayList<String>();
    
     Intent intent = getIntent();
    
     String time = intent.getExtras().getString("time").toString();
    
     //TextView data = (TextView)findViewById(R.id.KKK);
     //data.setText(time);
    
     list.add(time+" 측정값");
  adapter.notifyDataSetChanged();
     // TODO Auto-generated method stub
  
  adapter = new ArrayAdapter<String>(this,
         android.R.layout.simple_list_item_multiple_choice, list);      
         setListAdapter(adapter);
 }
 
  public void dbclose() {
         
     }
}

 

 

 

===================================================================

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

 <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal" >

    

     <Button
         android:id="@+id/inputButton"
         android:layout_width="88dp"
         android:layout_height="wrap_content"
         android:text="Created by sj" />
 </LinearLayout>

 <ListView
     android:id="@android:id/list"
     android:layout_width="fill_parent"
     android:layout_height="416dp" >
</ListView>
 
 <TextView android:layout_width="wrap_content"
  android:id="@android:id/empty"
  android:text="표시할 내용이 없습니다."
  android:layout_height="wrap_content"
  android:layout_gravity="center_horizontal"/>
 


</LinearLayout>

 

===========================================================

 

05-29 04:01:23.844: E/AndroidRuntime(14981): FATAL EXCEPTION: main
05-29 04:01:23.844: E/AndroidRuntime(14981): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gps0528/com.example.gps0528.dbActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.os.Looper.loop(Looper.java:137)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.ActivityThread.main(ActivityThread.java:4424)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at java.lang.reflect.Method.invokeNative(Native Method)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at java.lang.reflect.Method.invoke(Method.java:511)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at dalvik.system.NativeStart.main(Native Method)
05-29 04:01:23.844: E/AndroidRuntime(14981): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.ListActivity.onContentChanged(ListActivity.java:243)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:254)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.Activity.setContentView(Activity.java:1835)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at com.example.gps0528.dbActivity.onCreate(dbActivity.java:21)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.Activity.performCreate(Activity.java:4465)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
05-29 04:01:23.844: E/AndroidRuntime(14981):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
05-29 04:01:23.844: E/AndroidRuntime(14981):  ... 11 more
 

앤드류이드 (6,190 포인트) 님이 2013년 5월 29일 질문
앤드류이드님이 2013년 5월 29일 수정

2개의 답변

0 추천

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

aucd29 (218,390 포인트) 님이 2013년 5월 29일 답변
이게 무슨말인지 몰라서 글을 올린거에요 ㅠㅠ 인터넷찾아보니 setContentView를 사용하지말라고 해서 주석처리 해봤는데 안돼서요
해석 그대로인데요.. 너의 컨텐츠는 반드시 리스트뷰 속성에 android.R.id.list 속성을 가져야한다... 라고
리스트뷰 아이디를  android:id="@+id/list" 로 고쳐봤는데도 똑같은 오류가 나오네요. 혹시 텍스트뷰의 String을 인텐트로 넘겨서 arraylist로 저장하는 자체가 가능한지 궁금합니다.
텍스트를 왜 Arraylist로 넘겨야하는지 잘모르겠고.... 만약넘기고 싶다면
텍스트를 잘라야게죠
현재 버튼 클릭시 텍스트뷰에 현재의 시간날짜가 입력됩니다. 이걸 저장 버튼을 눌러서 arraylist로서 저장할려는거에요 ㅠㅠ
텍스트를 자른다는게 무슨 의미인지 잘 모르겠어요.
테스트 좀 가능하시면 프로젝트파일을 간절히 간절히 보내드리고 싶어요
0 추천
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="416dp" >
</ListView>

아래와 같이 수정해보세요..

 <ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="416dp" >
</ListView>
wind (2,240 포인트) 님이 2013년 5월 29일 답변
...