有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么在提交片段后出现错误“getParentActivityIntent:badActivity name”?

我正在创建一个简单的FragmentList应用程序,但由于某些原因,我不断收到错误:

Log.e(TAG, "getParentActivityIntent: bad parentActivityName '" + parentName +
                    "' in manifest");

在我的调试器中Activity.java

这发生在我的MainActivity.java文件.commit()之后:

  public class MainActivity extends AppCompatActivity {    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentManager fm = getSupportFragmentManager();

        Fragment fragment = fm.findFragmentById(R.id.myContainer);

        if(fragment == null){
            fragment = new MyFragment();
            fm.beginTransaction()
                    .add(R.id.myContainer, fragment)
                    .commit();
        }
    }
}

MyFragment。java文件

public class MyFragment extends ListFragment {
    List<Course> courses = new CourseData().courseArrayList();

    public MyFragment(){

    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ArrayAdapter arrayAdapter = new ArrayAdapter(getActivity(), R.layout.courselist_item, courses);

        setListAdapter(arrayAdapter);
 
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.courselist_item, container, false);
        return view;
    }
}

ArrayAdapter。java

public class ArrayAdapter extends 安卓.widget.ArrayAdapter<Course> {
    private Context context;
    private List<Course> courses;

    public ArrayAdapter(@NonNull Context context, int resource, List<Course> courses) {
        super(context, resource, courses);
        this.context = context;
        this.courses = courses;

    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        Course course = courses.get(position);
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        View view = inflater.inflate(R.layout.courselist_item, null);


        ImageView imageView = view.findViewById(R.id.course_image_id);
        imageView.setImageResource(course.getImageResourceId(context));

        TextView textView = view.findViewById(R.id.course_name);
        textView.setText(course.getCourseName());

        return view;

    }
}

当然。java:

package com.krish.mylistfragmennt;

import 安卓.content.Context;

public class Course {
    private String courseName;
    private String courseImage;

    public Course(String courseName, String courseImage) {
        this.courseName = courseName;
        this.courseImage = courseImage;
    }

    public int getImageResourceId(Context context){
        return context.getResources().getIdentifier(this.courseImage, "drawable", context.getPackageName());

    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getCourseImage() {
        return courseImage;
    }

    public void setCourseImage(String courseImage) {
        this.courseImage = courseImage;
    }
}

CourseData。java

public class CourseData {

    public String[] courseNames = {"First Course", "Second Course", "Third Course"};

    public ArrayList<Course> courseArrayList(){
        ArrayList<Course> list = new ArrayList<>();

        for(int i = 0; i< courseNames.length; i++){
            Course course = new Course(courseNames[i], courseNames[i].replace(" ", "").toLowerCase());
            list.add(course);

        }
        return list;
    }

}

清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    package="com.krish.mylistfragmennt">

    <application
        安卓:allowBackup="true"
        安卓:icon="@mipmap/ic_launcher"
        安卓:label="@string/app_name"
        安卓:roundIcon="@mipmap/ic_launcher_round"
        安卓:supportsRtl="true"
        安卓:theme="@style/Theme.MyListFragmennt">
        <activity 安卓:name=".MainActivity"
            安卓:parentActivityName=".MainActivity">
            <intent-filter>
                <action 安卓:name="安卓.intent.action.MAIN" />

                <category 安卓:name="安卓.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

共 (0) 个答案