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 взгляды на прокруткой линейной компоновки Я не уверен, что им не хватает.

Вот моя ошибка журнала

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

Вы не вызывая setContentView() в onCreate(), что означает, что findViewById() обязательно возвращать нуль. Метод должен быть примерно таким:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.double_image); 
    LinearLayout linearlayout = (LinearLayout) findViewById(R.id.linear_layout); 
    ... 
Смежные вопросы