Okhelp.cz

Recepty, články, nápady, programování. Dříve dum-zahrada, finance, internet a know-how.okhelp.cz Pro lepší výsledky hledání používejte i diakritiku.

3. Fragments Tutorial HeadlinesFragment – Czech language



Dil 3. HeadlinesFragment.java
V 1. dílu jsme se něco dozvěděli od XML souborech
V 2. dílu jsme rozebrali MainActivity.java


V tomto dílu si rozebereme záludnosti v HeadlinesFragment.java souboru.
Používáme příklad i zip porojekt z https://developer.android.com/training/basics/fragments/creating.html Pozorně si jej nastudujte.

package com.example.android.fragments;

import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
// pokud chceme aby byla aplikace spustitelná i v nižších verzích Androidu
import android.support.v4.app.ListFragment;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

// extends ListFragment důležité pro základní obsluhu ListView atd.
public class HeadlinesFragment extends ListFragment {
	// zajistí zpětné odesílání zprav - zde zachytí kliknutí uživatele na položku
        // v ListView - seznamu položek 
    OnHeadlineSelectedListener mCallback;

    // pro odposlouchávání zpráv v ListView a odesílání do MainActivity.java
    public interface OnHeadlineSelectedListener {
        /**
		funkce je volána onArticleSelected z HeadlinesFragment když uživatel
                klikne na item v ListView - položku seznamu -
		Tělo funkce je v MainActivity!!! Tam proběhnou potřebné úkony.
                Například výměna fragmentů atd. */
        public void onArticleSelected(int position);
    }

	/** Protože je HeadlinesFragment rozšířením (extends) ListFragment
	používá funkci onCreate(). 
        ArticleFragment extends Fragment bude používat onCreateView() 
	*/
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        
		// Zde si pohlídáme verze Androidu a přiřadíme jim 
                // předdefinovanou šablonu XML souboru
		// Je to důležité pokud chceme využívat více možností, 
                // které nové verze nabízejí 
		// například podbarvení vybrané položky seznamu
        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;

		
		// zde se vytovoří jednotlivé položky seznamu v ListView
		// Pole vypadá takto:  
		// static String[] Headlines = {"Article One","Article Two"};
		// položky tedy ponesou názvy ze String[] Headlines
		// Teoreticky si menší pole položek můžete dát i sem pro jednodušší editaci
        setListAdapter(new ArrayAdapter<String>(getActivity(), layout, Ipsum.Headlines));
    }

    @Override
    public void onStart() {
        super.onStart();

		
		// Pokud se bude zobrazovat dual-panel 
                // (pro tablety, větší obrazovky) 
                // například je dobré
		// když bude zvýrazněna vybraná položka setChoiceMode(ListView.CHOICE_MODE_SINGLE);
		// Toto provádíme v onStart(), kdy máme přístup k listview
        if (getFragmentManager().findFragmentById(R.id.article_fragment) != null) {
            getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        }
    }

	// onAttach() bude asi deprecated, tak můžete vyzkoušet
	/* 
			@Override
		public void onAttach(Context context) {
			super.onAttach(context);

			Activity a;

			if (context instanceof Activity){
				a=(Activity) context;
			}
		}
	*/
// nebo pohledat něco na inetu 
	
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

		
		// Zde přiřadíme odposlouchávání zprávy kliknutí na položku ListView 
		// a zpětnou vazbu s MainActivity.
		// Pokud se to nepodaří, bude zaznamenáno a předáno dál chybové hlášení
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }
    /** kliknuto na položku ListView */
    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
                // long id se bude hodit například při obsluze sql.databází
        
		// Upozorní - předá zprávu MainActivity.java, že uživatel 
		// klikl na položku a odešle i pozici v seznamu
                mCallback.onArticleSelected(position);
        
        
		// getListView().setItemChecked(position, true); 
		// má zajistit podbarvení 
		// - zvýraznění vybrané položky,
		// ale mi to nefungovalo, tak jsem ještě znovu přidal,
		// které je už v onStart() a už to funguje jak má
		// Možná nějaká záludnost v mém telefonu :(
		getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
		 
        getListView().setItemChecked(position, true);
    }
}

397LW NO topic_id



Další témata ....(Topics)


64

Leap year date time Java Android example | leap-year-date-time-java-android-example


GregorianCalendar cal = new GregorianCalendar(); Boolean b = cal.isLeapYear(2012); // true, Android example.



public class MainActivity extends Activity {
TextView txtV;
	Context cntx;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        txtV = (TextView)findViewById(R.id.idLabel);
        cntx = this;
        StringBuilder strBuild = new StringBuilder();
        
         GregorianCalendar cal = new GregorianCalendar();
         Boolean b = cal.isLeapYear(2012); // true
         strBuild.append("Is leap year 2012? " + b + "

"); b = cal.isLeapYear(2014); // false strBuild.append("Is leap year 2014? " + b + "
"); txtV.setText(strBuild); } }
261

Shuffle Array of String Java Example | shuffle-array-of-string-java-example



       String[] sAr = new String[] {"one","two","three"};
       List<String> wordList = Arrays.asList(sAr);
       Collections.shuffle( wordList);
       String[]myShuffledArray = wordList.toArray(new String[wordList.size()]);


289

AlertDialog setButton Deprecated | alertdialog-setbutton-deprecated


Solution:

public void alertMy(String sTitle, String sMessage){
	AlertDialog.Builder builder = new AlertDialog.Builder(Test.this); // activity
  builder.setTitle(sTitle)
  .setMessage(sMessage)
  .setCancelable(false)
  .setNegativeButton("Close",new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int id) {
          dialog.cancel();
      }
  });
  AlertDialog alert = builder.create();
  alert.show();

}

275

Android Widget OnClick Example | android-widget-onclick-example


Open link in browser after user do click on widget area:

private Context _context;
	@Override
		public void onStart(Intent intent, int startId) {
                        _context = this;
			String definePage ="//old.chmi.cz/meteo/rad/rad_data.php";
			 Intent defineIntent = new Intent(Intent.ACTION_VIEW,
			 Uri.parse(definePage));
			 PendingIntent pendingIntent = PendingIntent.getActivity(_context,
			 0 /* no requestCode */, defineIntent, 0 /* no flags */);
			 updateViews.setOnClickPendingIntent(R.id.widget, pendingIntent);

216

LinkedMap HashMap Java | linkedmap-hashmap-java



Map<Float,String> linkedHashMap = new LinkedHashMap<Float, String>();

 linkedHashMap.put(14.f, "text");
 linkedHashMap.put(13.f, "text");
 linkedHashMap.put(10.f, "text");
 linkedHashMap.put(11.f, "text");
 linkedHashMap.put(2.f, "text");
 linkedHashMap.put(3.f, "text");
 linkedHashMap.put(1.f, "text");
 linkedHashMap.put(7.f, "text");
 linkedHashMap.put(23.f, "text");

	for (Entry<Float,String> entry : linkedHashMap.entrySet()) {
		System.out.println(entry.getKey());
	}
14.0
13.0
10.0
11.0
2.0
3.0
1.0
7.0
23.0

Map<Float,String> hashMap = new HashMap<Float, String>();

 hashMap.put(14.f, "text");
 hashMap.put(13.f, "text");
 hashMap.put(10.f, "text");
 hashMap.put(11.f, "text");
 hashMap.put(2.f, "text");
 hashMap.put(3.f, "text");
 hashMap.put(1.f, "text");
 hashMap.put(7.f, "text");
 hashMap.put(23.f, "text");

 
 
	for (Entry<Float,String> entry : hashMap.entrySet()) {
		System.out.println(entry.getKey());
	}
// key :
1.0
14.0
3.0
13.0
2.0
7.0
11.0
23.0
10.0




Editace Jana Žákovská : 2016-06-29 09:58:15
Počet článků v kategorii: 397
Url:3-fragments-tutorial-headlinesfragment-czech-language
Share
Share
Tweet