フラグメントの名前を入力すると、次のようにエラーが発生するという問題が発生しました。
Type mismatch: cannot convert from Fragment1 to Fragment
ここに私の MainActivity.java コードがあります:
package com.example.currencyconverter;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.LayoutInflater;
import android.view.View;
public class MainActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getActionBar();
actionBar.setSubtitle("Created By Rohit Nandakumar");
actionBar.setTitle("Currency Converter");
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab Frag1 = actionBar.newTab().setText("Converter");
ActionBar.Tab Frag2 = actionBar.newTab().setText("Currencies");
Fragment fragment1 = new Fragment1();
Fragment fragment2 = new Fragment2();
Frag1.setTabListener(new MyTabsListener(fragment1));
Frag2.setTabListener(new MyTabsListener(fragment2));
actionBar.addTab(Frag1);
actionBar.addTab(Frag2);
}
ここに私のFragment1コードがあります:
package com.example.currencyconverter;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment1 extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_main, container, false);
}
}
これは私のフラグメント2コードです:
package com.example.currencyconverter;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment2 extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_first, container, false);
}
}
MyTabsListener.java ファイルは次のとおりです。
package com.example.currencyconverter;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.app.ActionBar;
import android.app.Fragment;
import android.app.FragmentTransaction;
public class MyTabsListener implements TabListener {
public Fragment fragment;
public MyTabsListener(Fragment fragment) {
this.fragment = fragment;
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft.replace(R.id.fragment_container, fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
この問題は MainActivity.java ファイルで発生します。
Fragment fragment1 = new Fragment1();
Fragment fragment2 = new Fragment2();
の
new Fragment1();
そしてその
new Fragment2();
コードの一部が強調表示され、次のように表示されます。
Type mismatch: cannot convert from Fragment1 to Fragment
何が起こっている?私は何を間違っていますか?どんな助けでも大歓迎です。以前にもこの質問をしたことがありますが、正しい答えが得られませんでした。私は答えを見つけようとしてインターネット全体を検索しました。繰り返しますが、どんな助けも大歓迎です。