Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.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 在Android中编辑文本到分级栏_Java_Android_Listview - Fatal编程技术网

Java 在Android中编辑文本到分级栏

Java 在Android中编辑文本到分级栏,java,android,listview,Java,Android,Listview,这是我在这里的第一个问题,所以我想请你不要对我太苛刻,如果我违反了一些规则,等等 我正在开发一个带有评级条的Android项目。我试图从edittext中获取一个数字,并将其值传递给分级栏。我遇到了一个nullpointerexception,无法通过,任何帮助都将不胜感激 以下是相关代码的部分: public void bindView(View movieView, Context context, Cursor cursor) { final Movie

这是我在这里的第一个问题,所以我想请你不要对我太苛刻,如果我违反了一些规则,等等

我正在开发一个带有评级条的Android项目。我试图从edittext中获取一个数字,并将其值传递给分级栏。我遇到了一个nullpointerexception,无法通过,任何帮助都将不胜感激

以下是相关代码的部分:

    public void bindView(View movieView, Context context, Cursor cursor) 
    {
        final Movie movie = new Movie(cursor);

        Holder holder = (Holder)movieView.getTag();
        holder.setMovie(movie);

        TextView movieTitleText = (TextView)movieView.findViewById(R.id.movieTitleText); 
        TextView movieDescriptionText = (TextView)movieView.findViewById(R.id.movieDescriptionText); 
        RatingBar rb = (RatingBar)movieView.findViewById(R.id.movieRatingBar);
        rb.setNumStars(5);
        rb.setMax(5);
        rb.setRating(2.4F);

        rb.setEnabled(false);
        rb.setFocusable(false);

        float numRate = 0;
        numRate = Float.parseFloat(movie.getRating().toString());
        rb.setRating(numRate);

        movieTitleText.setText(movie.getTitle());
        movieDescriptionText.setText(movie.getDescription());


        movieView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
            Toast.makeText(getApplicationContext(), "Short click", Toast.LENGTH_LONG).show();

            Intent editIntent = new Intent(MoviesActivity.this, EditMovieActivity.class);
            editIntent.putExtra("isNew",false);
            editIntent.putExtra("title", movie.getTitle());
            editIntent.putExtra("description", movie.getDescription());
            editIntent.putExtra("year", movie.getYear());
            editIntent.putExtra("rating", movie.getRating());
            editIntent.putExtra("rottenId", movie.getRottenId());
            editIntent.putExtra("smallImage", movie.getSmallImage());
            editIntent.putExtra("largeImage", movie.getLargeImage());
            startActivityForResult(editIntent,EDIT_MOVIE_REQUEST_CODE);
            }
        });

        movieView.setOnLongClickListener(new OnLongClickListener() {


            @Override
            public boolean onLongClick(final View v) {


            Toast.makeText(getApplicationContext(), "Long click", Toast.LENGTH_LONG).show();

            AlertDialog.Builder editBuilder = new AlertDialog.Builder(MoviesActivity.this);

            editBuilder.setTitle("Edit or Clear Movie").setMessage("Please choose either to clear or to edit the movie");

            editBuilder.setPositiveButton("Edit", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {

                    Intent editIntent = new Intent(MoviesActivity.this, EditMovieActivity.class);
                     editIntent.putExtra("isNew",false);
                     editIntent.putExtra("title", movie.getTitle());
                     editIntent.putExtra("description", movie.getDescription());
                     editIntent.putExtra("year", movie.getYear());
                     editIntent.putExtra("rating", movie.getRating());
                     editIntent.putExtra("rottenId", movie.getRottenId());
                     editIntent.putExtra("smallImage", movie.getSmallImage());
                     editIntent.putExtra("largeImage", movie.getLargeImage());
                     startActivityForResult(editIntent,EDIT_MOVIE_REQUEST_CODE);
                }



            });

            editBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {

                return;
                }
            });




            Builder setNeutralButton = editBuilder.setNeutralButton("Clear movie", new DialogInterface.OnClickListener() {


                @Override
                public void onClick(DialogInterface dialog, int which) {



                   handler.deleteMovie(movie.getId());
                    moviesCursor = handler.getAllMoviesCursor();
                    adapter.swapCursor(moviesCursor);
                    adapter.notifyDataSetChanged();

                Toast.makeText(getApplicationContext(), "Movie deleted", Toast.LENGTH_LONG).show();                    

                }
            });         

            editBuilder.show();

            return true;
            }
        });
    }
这是堆栈跟踪:

09-16 03:41:28.912: E/AndroidRuntime(1248): FATAL EXCEPTION: main
09-16 03:41:28.912: E/AndroidRuntime(1248): java.lang.NullPointerException
09-16 03:41:28.912: E/AndroidRuntime(1248):     at com.rotten.tomatoes.MoviesActivity$MyCursorAdapter.bindView(MoviesActivity.java:209)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.support.v4.widget.CursorAdapter.getView(CursorAdapter.java:256)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.AbsListView.obtainView(AbsListView.java:2033)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.ListView.makeAndAddView(ListView.java:1772)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.ListView.fillDown(ListView.java:672)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.ListView.fillFromTop(ListView.java:732)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.ListView.layoutChildren(ListView.java:1625)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.AbsListView.onLayout(AbsListView.java:1863)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.View.layout(View.java:11278)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.ViewGroup.layout(ViewGroup.java:4224)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.View.layout(View.java:11278)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.ViewGroup.layout(ViewGroup.java:4224)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.View.layout(View.java:11278)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.ViewGroup.layout(ViewGroup.java:4224)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.View.layout(View.java:11278)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.ViewGroup.layout(ViewGroup.java:4224)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.View.layout(View.java:11278)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.ViewGroup.layout(ViewGroup.java:4224)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1489)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.os.Looper.loop(Looper.java:137)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at android.app.ActivityThread.main(ActivityThread.java:4424)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at java.lang.reflect.Method.invokeNative(Native Method)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at java.lang.reflect.Method.invoke(Method.java:511)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
09-16 03:41:28.912: E/AndroidRuntime(1248):     at dalvik.system.NativeStart.main(Native Method)

非常感谢

哪一行导致错误我认为是这些行:float numRate=0;numRate=Float.parseFloat(movie.getRating().toString());rb.设定值(numRate);它是在你的日志中显示的,只需单击它,它就会将你重定向到该行。我知道,我在日志中显示的209左右发布了这些行,谢谢!具体来说,第209行是什么?