Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加TextView时Android RelativeLayout.addView()异常_Android - Fatal编程技术网

添加TextView时Android RelativeLayout.addView()异常

添加TextView时Android RelativeLayout.addView()异常,android,Android,当我在相对布局上调用addView()方法来添加textView时,出现了一个异常(null指针) public class FormAddNewTaskActivity extends Activity { private final String TAG = FormAddNewTaskActivity.class.getCanonicalName(); private TaskLiteApplication taskLiteApplication; /* (n

当我在相对布局上调用addView()方法来添加textView时,出现了一个异常(
null指针

public class FormAddNewTaskActivity extends Activity {

    private final String TAG = FormAddNewTaskActivity.class.getCanonicalName();

    private TaskLiteApplication taskLiteApplication;

    /* (non-Javadoc)
     * @see android.app.Activity#onCreate(android.os.Bundle)
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.form_add_task);

        RelativeLayout rl = (RelativeLayout) findViewById(R.layout.form_add_task);
        TextView tv = new TextView(taskLiteApplication);
        tv.setText("blah blah");
        tv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
        rl.addView(tv); //null pointer exeption there

        //set application context
        taskLiteApplication = ((TaskLiteApplication)getApplicationContext());

        //Spinner set list user
        Spinner s = (Spinner) this.findViewById(R.id.spinnerUser);

        //set list user
        ArrayList<User> listUser = taskLiteApplication.getCtrlUser().getListUserFromDataBase();

        //adapter user
        UserSpinnerAdapter userSpinnerAdapter = new UserSpinnerAdapter(listUser , getApplicationContext());

        //set adapter on the spinner
        s.setAdapter(userSpinnerAdapter);



        //set listener on add button task
        ImageButton imageButtonAdd = (ImageButton) findViewById(R.id.imageButtonAdd);
        imageButtonAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d(TAG, "add form new subtask");
            }
        });


    }

}
公共类FormadNewTaskActivity扩展了活动{
private final String TAG=FormAddNewTaskActivity.class.getCanonicalName();
专用TaskLiteApplication TaskLiteApplication;
/*(非Javadoc)
*@see android.app.Activity#onCreate(android.os.Bundle)
*/
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.form\u add\u任务);
RelativeLayout rl=(RelativeLayout)findViewById(R.layout.form\u add\u task);
TextView tv=新的TextView(taskLiteApplication);
tv.setText(“诸如此类”);
tv.setLayoutParams(新的LayoutParams(LayoutParams.FILL\u PARENT,LayoutParams.WRAP\u CONTENT));
rl.addView(tv);//那里有空指针
//设置应用程序上下文
taskLiteApplication=((taskLiteApplication)getApplicationContext());
//微调器集列表用户
微调器s=(微调器)this.findViewById(R.id.spinnerUser);
//设置列表用户
ArrayList listUser=taskLiteApplication.getCtrlUser().getListUserFromDataBase();
//适配器用户
UserSpinnerAdapter UserSpinnerAdapter=新的UserSpinnerAdapter(listUser,getApplicationContext());
//在微调器上设置适配器
s、 setAdapter(userSpinnerAdapter);
//在添加按钮任务上设置侦听器
ImageButton ImageButtonAd=(ImageButton)findViewById(R.id.ImageButtonAd);
ImageButtonAd.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Log.d(标记“添加表单新子任务”);
}
});
}
}
我的XML:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#fff" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <EditText
            android:id="@+id/editTextGroupTaskName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/hint_task_name"
            >

            <requestFocus />
        </EditText>

         <Spinner
            android:id="@+id/spinnerUser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textViewDateDue"
            android:layout_below="@+id/editTextGroupTaskName" />      

        <TextView
            android:id="@+id/textViewDateDue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/spinnerUser"
            android:text="@string/date_due"
            android:textColor="#000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <DatePicker
            android:id="@+id/datePickerDateDue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/textViewDateDue" />

        <TextView 
            android:id="@+id/textViewSubTask"
            android:layout_below="@id/datePickerDateDue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/sub_task"
            android:textColor="#000"
            android:paddingTop="11dp"
            android:paddingBottom="11dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            />

        <ImageButton
            android:id="@+id/imageButtonAdd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_below="@id/datePickerDateDue"
            android:src="@drawable/add" />

    </RelativeLayout>


</ScrollView>

日志类别:

 07-17 14:07:40.696: D/AndroidRuntime(338): Shutting down VM
...
07-17 14:07:40.707: E/AndroidRuntime(338): Caused by: java.lang.NullPointerException
07-17 14:07:40.707: E/AndroidRuntime(338):  at android.view.View.<init>(View.java:1823)
07-17 14:07:40.707: E/AndroidRuntime(338):  at android.widget.TextView.<init>(TextView.java:326)
07-17 14:07:40.707: E/AndroidRuntime(338):  at android.widget.TextView.<init>(TextView.java:320)
07-17 14:07:40.707: E/AndroidRuntime(338):  at android.widget.TextView.<init>(TextView.java:315)
07-17 14:07:40.707: E/AndroidRuntime(338):  at activity.FormAddNewTaskActivity.onCreate(FormAddNewTaskActivity.java:38)
07-17 14:07:40.707: E/AndroidRuntime(338):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-17 14:07:40.696:D/AndroidRuntime(338):关闭虚拟机
...
07-17 14:07:40.707:E/AndroidRuntime(338):由以下原因引起:java.lang.NullPointerException
07-17 14:07:40.707:E/AndroidRuntime(338):在android.view.view.(view.java:1823)
07-17 14:07:40.707:E/AndroidRuntime(338):在android.widget.TextView。(TextView.java:326)
07-17 14:07:40.707:E/AndroidRuntime(338):在android.widget.TextView。(TextView.java:320)
07-17 14:07:40.707:E/AndroidRuntime(338):在android.widget.TextView。(TextView.java:315)
07-17 14:07:40.707:E/AndroidRuntime(338):at activity.FormAddNewTaskActivity.onCreate(FormAddNewTaskActivity.java:38)
07-17 14:07:40.707:E/AndroidRuntime(338):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)上

只有
rl
可以在那里为空

也许可以代替
RelativeLayout rl=(RelativeLayout)findViewById(R.layout.form\u add\u task)
,而使用
RelativeLayout rl=(RelativeLayout)findViewById(R.id.RelativeLayout)findViewById(R.id.RelativeLayout\u layout)

RelativeLayout rl=(RelativeLayout)findViewById(R.form\u add\u task)

您正在向
视图
查找器发送布局标记。将以下内容添加到XML中:

<RelativeLayout
        android:id="@+id/form_add_task"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

并致电:


RelativeLayout rl=(RelativeLayout)findViewById(R.id.form\u add\u任务)

问题在于您的相对布局。尝试:

<RelativeLayout
        android:id="@+id/myLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

请张贴您的日志,如果您这样做,我将能够很快帮助您。@JohnSatriano已张贴,谢谢!这应该可以纠正您的NullPointerException,是否有新的错误?同一个null指针异常,是的,我认为这也可以解决问题,weirdok得到了它,null指针异常来自我的应用程序上下文,因此它正在工作!!!谢谢;)很高兴听到!祝你的项目好运!谢谢你John是的,我需要一些,正如你所注意到的,我是Android SDK的初学者;)
    RelativeLayout rl = (RelativeLayout) findViewById(R.id.myLayout);