Android 如何摆脱这种状况;“不可转换”;错误?

Android 如何摆脱这种状况;“不可转换”;错误?,android,android-layout,android-activity,android-fragments,android-fragmentactivity,Android,Android Layout,Android Activity,Android Fragments,Android Fragmentactivity,我正在制作一个简单的memegenerator应用程序,用户应在底部和顶部字段输入文本,该文本将添加到图片的底部和顶部部分。因为我想保持应用程序简单,所以我只使用了一个固定的Meme图像。 我用了两块碎片。一个用于编辑文本区域,另一个用于viwtext区域(etxt将附着在图片上)。为了将它们粘合在一起,我创建了接口,该接口也在mainActivity的java文件中被调用。现在问题出在我的主java类中的以下代码行中。这里的方法memeGen是这个应用程序的主脑。在它里面,我试图通过它的id找

我正在制作一个简单的memegenerator应用程序,用户应在底部和顶部字段输入文本,该文本将添加到图片的底部和顶部部分。因为我想保持应用程序简单,所以我只使用了一个固定的Meme图像。 我用了两块碎片。一个用于编辑文本区域,另一个用于viwtext区域(etxt将附着在图片上)。为了将它们粘合在一起,我创建了接口,该接口也在mainActivity的java文件中被调用。现在问题出在我的主java类中的以下代码行中。这里的方法
memeGen
是这个应用程序的主脑。在它里面,我试图通过它的id找到一个碎片。但似乎它没有找到那个资源

   public void memeGen(String top, String bottom) {
        BottomSectionJava bjs=(BottomSectionJava)getSupportFragmentManager().findFragmentById(R.id.fragment2);

    }
其他一切都很好。只有上面的一行显示此错误:

我的日志文件输出以下内容:

C:\Users\Riyana\AndroidStudioProjects\Fragment\app\src\main\java\com\mycompany\fragment\FragmentActivity.java
Error:(20, 94) error: inconvertible types
required: BottomSectionJava
found:    Fragment
Error:Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
这是出现错误的类的完整代码:

    public class FragmentActivity extends ActionBarActivity implements TopSectionjava.TopSectionListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fragment);
    }

    @Override
    public void memeGen(String top, String bottom) {
        BottomSectionJava bjs=(BottomSectionJava)getSupportFragmentManager().findFragmentById(R.id.fragment2);

    }


    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_, menu);
        return true;
    }
}
下节Java:

    public class BottomSectionJava extends Fragment{
    private static TextView memetext_top;
    private static TextView memetext_bottom;
 //
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        //return super.onCreateView(inflater, container, savedInstanceState);
        View view=inflater.inflate(R.layout.bottom_section,container,false);
        memetext_top=(TextView)view.findViewById(R.id.memetext_top);
        memetext_bottom=(TextView)view.findViewById(R.id.memetext_bottom);
        return view;
    }

    public void setTextOnThePic(String top,String bottom){
        memetext_top.setText(top);
        memetext_bottom.setText(bottom);

    }

}

BottomSectionJava
中的扩展名从
android.app.Fragment
更改为
android.support.v4.app.Fragment

我认为你们的进口产品线如下:

import android.app.Fragment;
你必须

import android.support.v4.app.Fragment;

现在,您的片段从
android.app
包扩展对象
fragment
,您必须从
android.support.v4.app
包扩展
fragment

为什么要在Java对象上投射片段?Java是否扩展片段?Konrad Krakowiak,是的,它将片段导出。如果你这次看到我的后期版本。我已经在我的代码中添加了这一部分。好吧,我更新了我的帖子。你尝试过我的解决方案吗?康拉德·克拉科维亚克,请再给我一点时间!我会非常非常的回到乌坦库。实际上我有两个片段。这就是为什么我必须对这两门课都采用你同样的建议。现在我解决了主要问题。我的应用程序正在运行。唯一的问题是,当我点击按钮添加文本时,什么也没发生。它不会在图片的文本视图区域添加文本。不过我不会打断你那么多。如果你有时间,你可以看看我的问题为什么按钮点击不起作用?否则没关系。XXI很高兴我能帮助您。您在哪里调用SettextonHepic(Sting,String)方法?没有任何地方可以初始化侦听器。