Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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_Android Layout_Listview_Checkbox - Fatal编程技术网

Java 坚持使用ListView和适配器

Java 坚持使用ListView和适配器,java,android,android-layout,listview,checkbox,Java,Android,Android Layout,Listview,Checkbox,嗯,我试着做一个屏幕,它需要几个字段,然后,它发送信息到我的服务器。代码可以工作,我可以进行插入,但是现在,我正在尝试使用我的应用程序的类组的复选框选择器来完成屏幕 问题是,我在不同的课程中有不同数量的小组,所以我必须动态地做 我工作的班级是这个班。意见之间的代码是失败的地方 public class NuevaTarea extends Activity { EditText nombretarea; DatePicker fechainicio, fechafin;

嗯,我试着做一个屏幕,它需要几个字段,然后,它发送信息到我的服务器。代码可以工作,我可以进行插入,但是现在,我正在尝试使用我的应用程序的类组的复选框选择器来完成屏幕

问题是,我在不同的课程中有不同数量的小组,所以我必须动态地做

我工作的班级是这个班。意见之间的代码是失败的地方

 public class NuevaTarea extends Activity {

    EditText nombretarea;
    DatePicker fechainicio, fechafin;
    ExpandableListView listagrupos;
    Button crear;
    TimePicker horainicio, horafin;
    ProgressDialog pDialog;
    Httppostaux post;
    CheckBox op1, op2, op3, op4, op5;
    JSONArray Grupos;
    ArrayList<PostData> data;
    PostAdapter adapter;
    ListView lista;






    @SuppressWarnings("null")
    public void onCreate(Bundle savedInstanceState) {  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_insertatarea);


        nombretarea = (EditText) findViewById(R.id.editText1);
        fechainicio = (DatePicker) findViewById(R.id.datePicker1);
        fechafin = (DatePicker) findViewById(R.id.datePicker2);
        listagrupos = (ExpandableListView) findViewById(R.id.expandableListView1);
        crear = (Button) findViewById(R.id.buttoncrear);
        horainicio = (TimePicker) findViewById(R.id.timePicker1);
        horafin = (TimePicker) findViewById(R.id.timePicker2);
        op1 = (CheckBox) findViewById(R.id.checkBox1);
        op2 = (CheckBox) findViewById(R.id.checkBox2);
        op3 = (CheckBox) findViewById(R.id.checkBox3);
        op4 = (CheckBox) findViewById(R.id.checkBox4);
        op5 = (CheckBox) findViewById(R.id.checkBox5);

        //////////////// Grupos


        Log.d("Grupos", "Previo Inicio");
        if ( savedInstanceState == null) {
            Log.d("Grupos", "SavedInstance == NULL");
            Log.d("Todos los Grupos", "ARRAY GRUPOS = " + Constantes.cargainfogrupos);
            //new asynccargagrupos().execute();
            Log.d("Todos los Grupos", "ARRAY GRUPOS = " + Constantes.cargainfogrupos);
            data = new ArrayList<PostData>();
            if ( Constantes.cargainfogrupos != null) {
                Log.d("Grupos", "Grupos != NULL");
                Log.d("Grupos", "Dentro del WHILE");
                    String tex;
                    try {
                        Log.d("Grupos", "Dentro del Try");
                        for ( int i = 0; i < Constantes.cargainfogrupos.length(); i++){
                            Log.d("Grupos", "Dentro del For");
                            JSONObject jsonObject = Constantes.cargainfogrupos.getJSONObject(i);
                            tex = jsonObject.getString("nombregrupo");
                            data.add(new PostData(tex, false));
                            Log.d("Grupos", "Primera Vista a data" + data);
                        }
                        Log.d("Grupos", "Version de Data que paso a Adapter" + data);
                        adapter = new PostAdapter(NuevaTarea.this, data);

                    }
                    catch (Exception e){

                    }

            }

        }else {
            Log.d("Grupos", "ELSE");
            data = savedInstanceState.getParcelableArrayList("saveddata");
            adapter = new PostAdapter(NuevaTarea.this, data);       
        }
        ListView lv = (ListView) findViewById(android.R.id.list);
        lv.setAdapter(adapter);

        /////////////////// GRUPOS
当我尝试加载活动时,一切都正常,甚至在NuevaTarea.java for loop中也能很好地获取数据,但这就是问题所在。具体来说,从这里到那里,它不会通过

    Log.d("Grupos", "Version de Data que paso a Adapter" + data);
                    adapter = new PostAdapter(NuevaTarea.this, data);

有什么想法吗?

从堆栈跟踪中可以看出,您正在向日历视图投射一个线性布局,其中有一个名为Cursos的类

你可能有这样一句话

LinearLayout mLayout = (LinearLayout) findViewById(R.id.my_view);

但是id为R.id.my_的视图实际上是一个日历视图

问题是我在这个活动中没有日历视图,我在这里使用课程,所以我疯了。从Cursos?不,当应用程序尝试使用我没有正确初始化的字段“返回”到该活动时,我从Cursos获得错误。如果我在行与行之间注释代码//////Grupos,它工作得很好,我可以插入信息,但我必须从我试图创建的复选框中获取的字段除外,这是我创建的​​进步。在我的类numevatarea中,当我在这一行ListView lv=(ListView)findviewbyd(android.R.id.list)中出现错误时;它是R.id.listView1。我可以运行该活动,但它不能正常工作。我对XML有问题,因为我有重复项,我无法创建所有复选框,但至少它需要值​​从JSONArray到创建第一个.Hmmm都很有趣……一定是一行代码把一切都搞糟了。但我不确定它是什么…至少它起作用了,现在的问题是,在打印文本视图后,我调用了组,再次将我的所有活动屏幕翻倍,所以我有了全部四个复选框,而不是四个。
public class PostAdapter extends BaseAdapter {

static class ViewHolder
 {
      TextView tvFecha_pub;
      TextView tvtitulo_post;
      CheckBox cb;
    }

   private static final String TAG = "CustomAdapter";
  private static int convertViewCounter = 0;

  private ArrayList<PostData> data;
   private LayoutInflater inflater = null;

 public PostAdapter(Context c, ArrayList<PostData> d)
    {
       Log.v(TAG, "Constructing CustomAdapter");

       this.data = d;
      inflater = LayoutInflater.from(c);
  }

   @Override
   public int getCount()
   {
       Log.v(TAG, "in getCount()");
        return data.size();
 }

   @Override
   public Object getItem(int position)
 {
       Log.v(TAG, "in getItem() for position " + position);
        return data.get(position);
  }

   @Override
   public long getItemId(int position)
 {
       Log.v(TAG, "in getItemId() for position " + position);
      return position;
    }

   @Override
   public int getViewTypeCount()
   {
       Log.v(TAG, "in getViewTypeCount()");
        return 1;
   }

   @Override
   public int getItemViewType(int position)
    {
       Log.v(TAG, "in getItemViewType() for position " + position);
        return 0;
   }

   @Override
   public void notifyDataSetChanged()
  {
       super.notifyDataSetChanged();
   }

   @Override
   public View getView(int position, View convertView, ViewGroup parent)
   {

       ViewHolder holder;

      Log.v(TAG, "in getView for position " + position + ", convertView is "
              + ((convertView == null) ? "null" : "being recycled"));

     if (convertView == null)
        {
           convertView = inflater.inflate(R.layout.activity_insertatarea, null);

          convertViewCounter++;
            Log.v(TAG, convertViewCounter + " convertViews have been created");

            holder = new ViewHolder();


            holder.tvtitulo_post = (TextView) convertView
                   .findViewById(R.id.tvTitulo);
            holder.cb = (CheckBox) convertView.findViewById(R.id.leido);
            holder.cb.setOnClickListener(checkListener);

            convertView.setTag(holder);

     } else
          holder = (ViewHolder) convertView.getTag();

     // Para porde hacer click en el checkbox
        PostData d = (PostData) getItem(position);
      holder.cb.setTag(d);
        // Setting all values in listview

      holder.tvtitulo_post.setText(data.get(position).getEquipos());
      holder.cb.setChecked(data.get(position).getChecked());

      return convertView;
 }

   public void setCheck(int position)
  {
       PostData d = data.get(position);

        d.setChecked(!d.getChecked());
      notifyDataSetChanged();
 }

   public void checkAll(boolean state)
 {
       for (int i = 0; i < data.size(); i++)
           data.get(i).setChecked(state);
  }

   public void cancelSelectedPost()
    {

       int i = 0;
      while (i < getCount())
      {
           if (data.get(i).getChecked())
           {
               data.remove(data.indexOf(data.get(i)));
         } else
              i++;
        }
       notifyDataSetChanged();

 }

   public boolean haveSomethingSelected()
  {
       for (int i = 0; i < data.size(); i++)
           if (data.get(i).getChecked())
               return true;
        return false;
   }

   /**
  * Este método es para poder seleccionar una fila directamente con el
    * checkbox en lugar de tener que pulsar en la liste en sí
   */
 private OnClickListener checkListener = new OnClickListener()
   {

       @Override
       public void onClick(View v)
     {
           PostData d = (PostData) v.getTag();
         d.setChecked(!d.getChecked());
      }
   };

}
 07-14 20:34:52.972: E/AndroidRuntime(5961): FATAL EXCEPTION: main
    07-14 20:34:52.972: E/AndroidRuntime(5961): java.lang.ClassCastException:    android.widget.LinearLayout cannot be cast to android.widget.CalendarView$WeekView
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.CalendarView.onScroll(CalendarView.java:1183)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.CalendarView.access$900(CalendarView.java:76)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.CalendarView$2.onScroll(CalendarView.java:1075)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:1340)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.ListView.layoutChildren(ListView.java:1762)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.AbsListView.onLayout(AbsListView.java:2012)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1660)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1436)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.ScrollView.onLayout(ScrollView.java:1459)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:349)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.View.layout(View.java:14289)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewGroup.layout(ViewGroup.java:4562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1976)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1730)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5481)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.Choreographer.doCallbacks(Choreographer.java:562)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.Choreographer.doFrame(Choreographer.java:532)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.os.Handler.handleCallback(Handler.java:730)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.os.Looper.loop(Looper.java:137)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at android.app.ActivityThread.main(ActivityThread.java:5103)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at java.lang.reflect.Method.invokeNative(Native Method)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at java.lang.reflect.Method.invoke(Method.java:525)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-14 20:34:52.972: E/AndroidRuntime(5961):     at dalvik.system.NativeStart.main(Native Method)
07-14 20:39:55.014: E/AndroidRuntime(5993): FATAL EXCEPTION: main
07-14 20:39:55.014: E/AndroidRuntime(5993): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.PFC.pablo/com.PFC.pablo.Cursos}: java.lang.NullPointerException
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.os.Looper.loop(Looper.java:137)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.ActivityThread.main(ActivityThread.java:5103)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at java.lang.reflect.Method.invokeNative(Native Method)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at java.lang.reflect.Method.invoke(Method.java:525)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at dalvik.system.NativeStart.main(Native Method)
07-14 20:39:55.014: E/AndroidRuntime(5993): Caused by: java.lang.NullPointerException
07-14 20:39:55.014: E/AndroidRuntime(5993):     at com.PFC.pablo.Cursos.agregarFilasTabla(Cursos.java:113)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at com.PFC.pablo.Cursos.onCreate(Cursos.java:74)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.Activity.performCreate(Activity.java:5133)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-14 20:39:55.014: E/AndroidRuntime(5993):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
07-14 20:39:55.014: E/AndroidRuntime(5993):     ... 11 more
    Log.d("Grupos", "Version de Data que paso a Adapter" + data);
                    adapter = new PostAdapter(NuevaTarea.this, data);
LinearLayout mLayout = (LinearLayout) findViewById(R.id.my_view);