- public class MainActivity extends ActionBarActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getSupportFragmentManager()
- .beginTransaction()
- .replace(android.R.id.content,
- new MainFragment(), "MainFragment")
- .commit();
- }
- public static class MainFragment extends ListFragment {
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- setListAdapter(new ArrayAdapter<string>(getActivity(),
- android.R.layout.simple_list_item_1,
- android.R.id.text1,
- new String[]{"test1", "test2", "test2"}));
- }
- }
- }
- </string>
AppCompat v7 の version 19 だと普通に MainFragment が表示されます。
- apply plugin: 'com.android.application'
- android {
- compileSdkVersion 19
- buildToolsVersion "21.1.1"
- defaultConfig {
- applicationId "net.yanzm.sample2"
- minSdkVersion 15
- targetSdkVersion 19
- versionCode 1
- versionName "1.0"
- }
- ...
- }
- dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- compile 'com.android.support:appcompat-v7:19.+'
- }

しかし、AppCompat v7 の version 21 にすると、でない!
- apply plugin: 'com.android.application'
- android {
- compileSdkVersion 21
- ...
- defaultConfig {
- ...
- targetSdkVersion 21
- ...
- }
- ...
- }
- dependencies {
- ...
- compile 'com.android.support:appcompat-v7:21.0.3'
- }

悲しみ。。。
レイアウトファイルを用意すれば表示されるけど。。。
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/content"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" />
- public class MainActivity extends ActionBarActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- getSupportFragmentManager()
- .beginTransaction()
- .replace(R.id.content, new MainFragment(), "MainFragment")
- .commit();
- }
- ...
- }

バグなんだろうか。。。
↓多分同じこと言ってる http://stackoverflow.com/questions/27460502/appcompat-v7-android-5-0-actionbaractivity-textview-not-visible
追記: getSupportActionBar() を呼ぶと表示された。。。謎い。
- public class MainActivity extends ActionBarActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // これを呼ぶと表示される!なぜだ!
- getSupportActionBar();
- getSupportFragmentManager()
- .beginTransaction()
- .replace(android.R.id.content,
- new MainFragment(), "MainFragment")
- .commit();
- }
- ...
- }
0 件のコメント:
コメントを投稿