我正在製作一個簡單的memegenerator應用程序,用戶應在其中輸入底部和頂部字段的文本,並且該文本將添加到圖片的底部和頂部。由於我想保持簡單的應用程序,我只使用了一個用於Meme的固定圖像。 我已經使用了兩個片段。一個用於Edittext區域,另一個用於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;
}
}
BottomSectionJava:
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對象上投射碎片? BottomSectionJava是否擴展了片段? – 2015-02-17 22:45:51
康拉德克拉科維亞克,是的,它極端的碎片。如果你這次看到我的發佈版。我在我的代碼中添加了該部分。 – Riyana 2015-02-17 22:52:59
好的,我更新了我的帖子 – 2015-02-17 23:07:25