2017-09-23 3 views
0

Android에 익숙하지 않아 ListView를 표시하려고하지만 애플리케이션을 시작할 때마다 중지됩니다. 나는 몇 시간 동안 내 문제를 파악하려고 노력했으나 잘못된 것을 발견하지 못했습니다. 문제가 무엇인지 설명 할 수있는 사람에게 미리 감사드립니다. 여기 내 main_activity 클래스의 :Listview를 표시하려고 시도합니다.

public TextView textView; 
public int count = 0; 
public ListView listView; 
public Context context; 
public List<HashMap<String,String>> list = new ArrayList<>(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 
    context = getApplicationContext(); 

    textView = (TextView)findViewById(R.id.text); 
    listView = (ListView)findViewById(R.id.listView); 

    Button button = (Button)findViewById(R.id.button); 

    button.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      count++; 
      addLine(count); 
      textView.setText(String.valueOf(count)); 
     } 
    }); 
} 

void addLine(int counter){ 
    if(counter>0){ 
    HashMap<String,String> hashMap = new HashMap<String,String>(); 
    for(int i=0;i < counter;i++){ 
     hashMap.clear(); 
     hashMap.put(String.valueOf(i),"test" + String.valueOf(i)); 
     list.add(hashMap); 
    } 
    String[] from = {"first","second"}; 
    int[] to = {android.R.layout.simple_list_item_1, android.R.layout.simple_list_item_2 }; 
    SimpleAdapter simpleAdapter = new SimpleAdapter(context,list,R.id.listView, from, to); 

    listView.setAdapter(simpleAdapter); 
    } 
} 

Activity_main.xml 내 로그 캣 :

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/myLayout" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="8dp"> 

    <Button android:id="@+id/button" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="10" 
     android:text="@string/buttonName" /> 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="20" 
     android:text="test"/> 


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="70" 
     android:padding="8dp" > 

     <ListView 
      android:id="@+id/listView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_weight="10" /> 

    </LinearLayout> 


</LinearLayout> 


09-23 11:01:36.418 13592-13592/com.example.cem.myapplication E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.cem.myapplication, PID: 13592 
                       android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0061 type #0x12 is not valid 
                        at android.content.res.Resources.loadXmlResourceParser(Resources.java:2138) 
                        at android.content.res.Resources.getLayout(Resources.java:1142) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:421) 
                        at android.widget.SimpleAdapter.createViewFromResource(SimpleAdapter.java:128) 
                        at android.widget.SimpleAdapter.getView(SimpleAdapter.java:121) 
                        at android.widget.AbsListView.obtainView(AbsListView.java:2372) 
                        at android.widget.ListView.measureHeightOfChildren(ListView.java:1408) 
                        at android.widget.ListView.onMeasure(ListView.java:1315) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
                        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) 
                        at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) 
                        at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
                        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) 
                        at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) 
                        at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
                        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
                        at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
                        at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:393) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
                        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
                        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) 
                        at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) 
                        at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
                        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
                        at com.android.internal.policy.DecorView.onMeasure(DecorView.java:721) 
                        at android.view.View.measure(View.java:21998) 
                        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2410) 
                        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1498) 
                        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1751) 
                        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386) 
                        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733) 
                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) 
                        at android.view.Choreographer.doCallbacks(Choreographer.java:723) 
                        at android.view.Choreographer.doFrame(Choreographer.java:658) 
                        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) 
                        at android.os.Handler.handleCallback(Handler.java:789) 
                        at android.os.Handler.dispatchMessage(Handler.java:98) 
                        at android.os.Looper.loop(Looper.java:164) 
                        at android.app.ActivityThread.main(ActivityThread.java:6541) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
+0

"중지됨"으로 인해 앱이 다운되는 경우 LogCat을 사용하여 충돌과 관련된 Java 스택 추적을 검사하십시오. https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how -can-i-solve-this – CommonsWare

+0

그것이 내가 한 일이며, 내 게시물에 logcat 콘텐츠를 제공합니다. 하지만 난 여전히 문제를 타겟팅 할 수 없습니다 – masterbate

답변

1

귀하의 to 배열이 항목 뷰 레이아웃 내부에 결합하는 뷰의 ID를 가지고 있어야합니다 (보통은 android.R.id.text1android.R.id.text2 당신이 경우 일부 다른 레이아웃 ID가 아닌 Android 리소스의 간단한 항목 레이아웃을 사용하고 있습니다.

+0

나는 안드로이드 설명서를 잘못 읽고 따라서 내 생성자에 대한 잘못된 인수를 입력하십시오. 사실 'to'는 TextView의 배열이어야합니다. 고마워 Pavlus – masterbate

+0

'TextView'뿐만 아니라'Checkable' 또는'ImageView' 타입도 가질 수 있습니다. 내 대답이 도움이된다고 생각한다면 - 받아주십시오. – Pavlus

관련 문제