2016-08-05 6 views
0

は私がAndroidのメーカー V2.0で自動インポートための以下の設定を持っていないと、次のように私は新しいフラグメントのクラスを作成する理由のAndroid Studioが自動インポート正しいパッケージandroid.support.v4.app.Fragment

import android.app.Fragment; 

public class MyFragment1 extends Fragment { 

// some code 
} 

enter image description here

しかし、私は以下のようにFragmentPagerAdapterでそれを使用しようとしたとき

public class MyFragmentPagerAdapter extends FragmentPagerAdapter { 

public MyFragmentPagerAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public Fragment getItem(int position) { 
    switch (position) { 
     case 0: 
      return new MyFragment1(); //error here 
     case 1: 
      return new MyFragment2(); //error here 
    } 
} 

私はこのエラーが表示されます。もちろん

Incompatible types. Found: 'com.example.android.viewpager.MyFragment1', required: 'android.support.v4.app.Fragment'

、私はandroid.app.Fragmentからandroid.support.v4.app.FragmentにMyFragment1の輸入を変更するときにエラーが

私の質問に消えますです:なぜAndroidのメーカーは、正しいパッケージをインポートしませんでした自動的に?
Android Studioのバグですか、何か問題がありましたか?

答えて

2

クラスをインポートすると、パッケージ名がアルファベット順に表示されます。

最初に見つかったものを解決するだけです。

enter image description here

あなたはそれがあなたに使用する1つの選択肢を与えたい場合は、有効な「ショー輸入ポップアップ」オプションを持っている必要があります。あなたが行うことができます

enter image description here

+0

これは論理的だと思われますが、別の問題があります。私は "インポートポップアップを表示"チェックしたが、それは表示されず、自動インポートを行います。 この問題は、 より前に報告されています。http://stackoverflow.com/q/30280289/6180768 –

+0

わかりません。私は通常、同じ名前のクラスの自動インポートを信頼しません。 –

0

一つは、ポップアップが現れたときにだけ、エスケープキーを押すことによって、それを無視する第一種Fragmentにあります。入力が完了したら、Alt + Enter(マウスカーソルがFragmentになるはずです)を押すと、2つのインポートオプションがポップアップ表示されます。ここでは、必要なものを選択できます。

Alt + Enterを押している間に、one possibleインポートが利用可能な場合、ポップアップなしで自動的にインポートされます。

関連する問題