Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Java listview中的空指针_Java_Android_Listview - Fatal编程技术网

Java listview中的空指针

Java listview中的空指针,java,android,listview,Java,Android,Listview,我有一个listview,它将从数据库中检索详细信息和日期。现在我要在listview中添加一个文本字段。textfield用于比较数据库中的日期并计算剩余的日期。首先,我尝试获取当前日期,以测试是否可以在listview或nt中显示该日期,但我没有显示它 package my.com.chyi.schedulev2; import android.app.Activity; import android.app.Activity;

我有一个listview,它将从数据库中检索详细信息和日期。现在我要在listview中添加一个文本字段。textfield用于比较数据库中的日期并计算剩余的日期。首先,我尝试获取当前日期,以测试是否可以在listview或nt中显示该日期,但我没有显示它

           package my.com.chyi.schedulev2;

         import android.app.Activity;
         import android.app.Activity;
            import android.content.Intent;
          import android.database.Cursor;
         import android.os.Bundle;
         import android.view.View;
          import android.view.View.OnClickListener;
           import android.widget.AdapterView;
              import android.widget.AdapterView.OnItemClickListener;
             import android.widget.Button;
           import android.widget.ListView;
           import android.widget.SimpleCursorAdapter;
        import android.widget.TextView;

        import java.text.SimpleDateFormat;
          import java.util.Calendar;

          import my.com.chyi.schedulev2.SQLController;

          /**
        * Created by chyi1_000 on 3/19/2015.
          */
   public class assigmentActivity extends Activity {

Button addass_bt;
ListView lv;
SQLController dbcon;
TextView assID_tv,assName_tv,assAtime_tv,assRemain;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_assign);

    dbcon = new SQLController(this);
    dbcon.open();
    //assign module
    addass_bt = (Button)findViewById(R.id.addAss_bt_id);
    lv =(ListView)findViewById(R.id.assList_id);

    //assig module
    addass_bt.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent add_ass = new Intent(assigmentActivity.this,Add_Assignment.class);
            startActivity(add_ass);
        }
    });

    //assig module
    Cursor cursor = dbcon.readDataA();
    //calculate days different
  // list -> loop
    // each row different days


    String[] fromA = new String[] { DBhelper.ASSIGNMENT_ID,DBhelper.ASSIGNMENT_NAME,DBhelper.ASSIGNMENT_mTime, };
    int[] toA = new int[] { R.id.assigment_id, R.id.assigment_name, R.id.assigment_ATime};

    SimpleCursorAdapter adapterA = new SimpleCursorAdapter(
           assigmentActivity.this, R.layout.view_assignment_entry, cursor, fromA, toA);
    adapterA.notifyDataSetChanged();
    lv.setAdapter(adapterA);

    // assig module
    lv.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {

            assID_tv = (TextView) view.findViewById(R.id.assigment_id);
            assName_tv = (TextView) view.findViewById(R.id.assigment_name);
            assAtime_tv = (TextView)view.findViewById(R.id.assigment_ATime);


            Calendar d = Calendar.getInstance();
            SimpleDateFormat dfd = new SimpleDateFormat("yyyy-MM-dd");
            String formattedDateD = dfd.format(d.getTime().toString());
            String test = formattedDateD;
            String assID_val = assID_tv.getText().toString();
            String assName_val = assName_tv.getText().toString();
            String assATime_val =  assAtime_tv .getText().toString();

            Intent modify_intent = new Intent(getApplicationContext(),
                    Modify_assignment.class);
            modify_intent.putExtra("assName", assName_val);
            modify_intent.putExtra("assID", assID_val);
            modify_intent.putExtra("assAtime",assATime_val);
            startActivity(modify_intent);
        }
    });

  TextView babu = (TextView) findViewById(R.id.assigment_remain);
   Calendar d = Calendar.getInstance();
   SimpleDateFormat dfd = new SimpleDateFormat("yyyy-MM-dd");
    String formattedDateD = dfd.format(d.getTime().toString());
    babu.setText(formattedDateD);
 }

尝试使用yyyy-MM-dd作为模式

在日期格式中添加一个“M”

String formattedDateD = dfd.format(d.getTime()).toString();
我在bubu.setTextformattedDateD的java.lang.NullPointerException处得到错误

这意味着代码中的bubu或babu为空

我想看一下这一行:

TextView babu = (TextView) findViewById(R.id.assigment_remain);
这可能没有找到视图,因此返回null


您的代码需要处理这种情况,您还需要跟踪视图的错误id。

d.getTime是否返回某些内容?格式是否返回某些内容。只需将格式更改为dd MMM yyyyth d.getTime用于从日历中获取当前日期,我在新项目及其工作中尝试了此代码,bt在该项目中失败了这一行TextView babu=TextView findviewbydr.id.assigment\u是否仍返回空视图?你能调试它吗?我相信行TextView babu=TextView findviewbydr.id.assigment\u仍然存在;正在返回Null。
TextView babu = (TextView) findViewById(R.id.assigment_remain);