findViewById in onCreate returns NULL when using Fragment
Call findViewById from onCreateView
res\layout
activity_main.xml
fragment_main.xml
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.containerMoje, new PlaceholderFragment()).commit();
}
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
if (container == null) {
return null;
}
TextView mText;
mText = (TextView)rootView.findViewById(R.id.idText);
mText.setText("Hello from fragment_main");
return rootView;
}
}
}
res\layout
activity_main.xml
<FrameLayout xmlns:android="//schemas.android.com/apk/res/android"
xmlns:tools="//schemas.android.com/tools"
android:id="@+id/containerMoje"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="cz.okhelp.autoskola.MainActivity"
tools:ignore="MergeRootFrame" />
fragment_main.xml
<RelativeLayout xmlns:android="//schemas.android.com/apk/res/android"
xmlns:tools="//schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="cz.okhelp.autoskola.MainActivity$PlaceholderFragment" >
<TextView
android:id="@+id/idText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
396LW NO topic_id
AD
Další témata ....(Topics)
Important: Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
Example of usage:
int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.layout.simple_list_item_activated_1 :
android.R.layout.simple_list_item_1;
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setItemChecked(position, true);
Example of usage:
public void updateList() {
Context ctx = getActivity();
Notes notes = new Notes(ctx);
String[] from = { Notes.COLUMN_TITLE };
int[] to = { android.R.id.text1 };
int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.layout.simple_list_item_activated_1 : android.R.layout.simple_list_item_1;
ListAdapter adapter = new SimpleCursorAdapter(ctx,
layout, notes.getNotes(), from,
to, 0);
setListAdapter(adapter);
notes.close();
}
/..................
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// Set the item as checked to be highlighted when in two-pane layout
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setItemChecked(position, true);
}
Co je to AMOLED displej?
AMOLED ( active-matrix organic light-emitting diode ) je zobrazovací technologie pro použití v mobilních zařízeních a televizích. OLED je technologie velmi tenkých displejů, kde organické sloučeniny vytváří elektroluminiscenční materiál a aktivní matice umožňuje přesné adresování jednotlivých pixelů (bodů obrázku).
Od roku 2012, je AMOLED technologie používána v mobilních telefonech , multimediálních přehrávačích a digitálních fotoaparátech, což umožňuje nízkou spotřebu těchto zařízení a zvětšení velikosti displeje (např. až 40 palců).
AMOLED displej se skládá z aktivní matice OLED pixelů, které vytvářejí světlo při elektrické aktivaci a jsou uloženy do Thin Film Transistor (TFT) pole, které slouží, jako řada přepínačů pro ovládání proudu pro každý jednotlivý pixel a tím se dosáhne požadované barvy bodu a snížení spotřeby produ pro pasivní provoz matice OLED.
V TFT sběrnici se používá polykrystalický a amorfní křemík což umožňuje dosáhnout pružnosti a ohebnosti AMOLED displeje.
Video AMOLED display Samsung Omnia II
**VIDEO YOUTUBE
AMOLED ( active-matrix organic light-emitting diode ) je zobrazovací technologie pro použití v mobilních zařízeních a televizích. OLED je technologie velmi tenkých displejů, kde organické sloučeniny vytváří elektroluminiscenční materiál a aktivní matice umožňuje přesné adresování jednotlivých pixelů (bodů obrázku).
Od roku 2012, je AMOLED technologie používána v mobilních telefonech , multimediálních přehrávačích a digitálních fotoaparátech, což umožňuje nízkou spotřebu těchto zařízení a zvětšení velikosti displeje (např. až 40 palců).
AMOLED displej se skládá z aktivní matice OLED pixelů, které vytvářejí světlo při elektrické aktivaci a jsou uloženy do Thin Film Transistor (TFT) pole, které slouží, jako řada přepínačů pro ovládání proudu pro každý jednotlivý pixel a tím se dosáhne požadované barvy bodu a snížení spotřeby produ pro pasivní provoz matice OLED.
V TFT sběrnici se používá polykrystalický a amorfní křemík což umožňuje dosáhnout pružnosti a ohebnosti AMOLED displeje.
Video AMOLED display Samsung Omnia II
**VIDEO YOUTUBE
import android.content.Context;
import android.media.AudioManager;
import android.media.SoundPool;
public class SoundManager
{
private SoundPool soundPool;
private int[] sm;
Context context;
public SoundManager(Context context) {
this.context = context;
soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
sm = new int[2];
// fill your sounds
sm[0] = soundPool.load(context, R.raw.my_sound1, 1);
sm[1] = soundPool.load(context, R.raw.my_sound2, 1);
}
public final void playSound(int sound) {
AudioManager mgr = (AudioManager)context.getSystemService(
Context.AUDIO_SERVICE);
float streamVolumeCurrent =
mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = streamVolumeCurrent / streamVolumeMax;
soundPool.play(sm[sound], volume, volume, 1, 0, 1f);
}
public final void cleanUpIfEnd() {
sm = null;
context = null;
soundPool.release();
soundPool = null;
}
}
float, double is NaN isNaN() isInfinite() Java Android example.
float f = 0.f;
boolean bIsNaN = Float.isNaN(f);
boolean bIsInfinite = Float.isInfinite(f);
double d = Math.sqrt(-10);
boolean b = Double.isNaN(d);
Toast in Android application is equivalent of Alert in JavaScript or MessageBox in WinApi.
// Toast android.widget.Toast.makeText(Context context, CharSequence text, int duration)
// public static Toast makeText (Context context, CharSequence text, int duration)
Toast.makeText(getApplicationContext(), "Hello world!",
Toast.LENGTH_SHORT).show();
Editace: 2014-07-12 13:48:55
Počet článků v kategorii: 396
Url:findviewbyid-in-oncreate-returns-null-when-using-fragment