2017-05-19 6 views
-1

私は3つのタブを表示するアクティビティを持っています。私は、Textview、ボタン、SQLiteからのデータを表示するためのエディットボックスを含むアクティビティ(AppCompatActivityを拡張)を呼びたいと思います。 2番目のタブをクリックすると、アクティビティが表示されますが、画面全体を占有し、2番目のタブ内に表示されません。タブ内のAppCompatActivityを拡張するコールアクティビティ:Android Studio

私は自分のタブにページャークラスを使用しています。

これは、その中に私の活動を表示すべきフラグメント]タブで:

public class settings_tab extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     //Returning the layout file after inflating 
     //Change R.layout.tab1 in you classes 
     Intent intent = new Intent(getActivity(), MainActivity.class); 
     startActivity(intent); 

     return inflater.inflate(R.layout.activity_settings_tab, container, false); 
    } 
} 

答えて

0

私は活動を呼び出すと、それが表示されますが、それは画面全体を占有し、2つ目のタブ内に表示されていませんさ

アクティビティのタブは、テクニックとして推奨されていません。6年

あなたのタブには、断片のようなものを使用してください。

+0

フラグメントの使用に関する私の問題は、アクティビティのコードをフラグメントクラスに転送すると、私のコードの一部がエラーになることです。例:final Context context = this; < - この行にはエラーがあります。また、これは:setContentView(R.layout.activity_main); ...私はこのコードの代わりにフラグメントを使用しているかわかりません。 –

+0

@GlennC: "アクティビティのコードをフラグメントクラスに転送すると、いくつかのコードがエラーになる" - 別のスタックオーバーフローに関する質問をして、[mcve]でコードを表示し、エラー "を意味する。 'Fragment'は' Activity'ではないので、いくつかのコード変更が必要です。 'final Context context = this'に関しては、行は必要ではなく、' this'の代わりに 'getActivity()'を使用してください。 – CommonsWare

+0

これは私が必要とするものです。タブでのアクティビティは非難されているので、コードで問題を解決するにはフラグメントクラスに移してください。私はアンドロイドには新しく、まだレイアウトデザインを探っています。情報のおかげで。 「エラーがあります」とは、Android Studioに下線が表示されていることを意味します。 –

関連する問題