2014-11-06 3 views
-1

가변 개수의 내 사용자 지정보기를 만드는 작업을하고 있으며 앱 강제 종료를 유도하지 않는 항목을 만들 수 없었습니다. 몇 가지 다른 리소스를 살펴 보았지만 어떤 도움도 찾을 수 없었습니다. 죄송합니다 이것이 분명하다면 나는 이것에 다소 새로운 것입니다.가변 개수의 뷰 만들기

내 주요 활동 코드

package com.example.customview; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.LinearLayout; 
import com.example.customview.widget.DoubleImageView; 

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     LinearLayout linearlayout = (LinearLayout) findViewById(R.id.linear_layout); 
     DoubleImageView doubleimageview; 
     for (int i =0; i <5; i++) { 
      doubleimageview = new DoubleImageView(this); 
      linearlayout.addView(doubleimageview); 
     } 
    } 
} 

내 Double_image.xml

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
    <LinearLayout android:id="@+id/linear_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="vertical"> 
      <com.example.customview.widget.DoubleImageView 
       android:id="@+id/image1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:drawableLeft="@drawable/flag_us" 
       android:drawableRight="@drawable/flag_uk" 
       android:textColor="#FFF" 
       android:textSize="32sp" 
       android:text="@string/score" 
       android:spacing="15dp"/> 

    </LinearLayout> 
</ScrollView> 

는 나에게이 내가없는 메신저 모르겠어요 스크롤 선형 레이아웃에 double_image보기를 추가하기 위해 노력한다.

여기 findViewById()가 null을 반환해야합니다 것을 의미 내 오류 로그

11-05 20:43:58.552: E/AndroidRuntime(29844): FATAL EXCEPTION: main 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): Process: com.example.customview, PID: 29844 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.customview/com.example.customview.MainActivity}: java.lang.NullPointerException 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2200) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.ActivityThread.access$800(ActivityThread.java:139) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.os.Handler.dispatchMessage(Handler.java:102) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.os.Looper.loop(Looper.java:136) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.ActivityThread.main(ActivityThread.java:5105) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at java.lang.reflect.Method.invokeNative(Native Method) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at java.lang.reflect.Method.invoke(Method.java:515) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at dalvik.system.NativeStart.main(Native Method) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): Caused by: java.lang.NullPointerException 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at com.example.customview.MainActivity.onCreate(MainActivity.java:40) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.Activity.performCreate(Activity.java:5275) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2164) 
 
11-05 20:43:58.552: E/AndroidRuntime(29844): \t ... 11 more

답변

0

당신은 onCreate()에서 setContentView()를 호출하지 않을 것이다. 메서드는 다음과 같아야합니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.double_image); 
    LinearLayout linearlayout = (LinearLayout) findViewById(R.id.linear_layout); 
    ... 
관련 문제