package wikokit.kiwidict.word_card; import wikokit.base.wikipedia.sql.Connect; import wikokit.base.wikt.constant.POS; import wikokit.base.wikt.sql.TLang; import wikokit.base.wikt.sql.TLangPOS; import wikokit.base.wikt.sql.TMeaning; import wikokit.base.wikt.sql.TPage; import wikokit.base.wikt.sql.TTranslation; import wikokit.kiwidict.KWConstants; import wikokit.kiwidict.R; import android.app.Activity; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.TypedValue; import android.view.Gravity; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.LinearLayout.LayoutParams; public class WCPOSActivity extends Activity { private static SQLiteDatabase db; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // get parameters: TPage, TLang, TLangPOS Bundle extras = getIntent().getExtras(); if(null == extras) return; //int page_id = extras.getInt("page_id"); int lang_id = extras.getInt("lang_id"); int lang_pos_id = extras.getInt("lang_pos_id"); //System.out.println("Result activity: page_id = " + page_id + "; lang_id = " + lang_id + ... lang_pos_id); db = KWConstants.getDatabase(); //TPage tpage = TPage.getByID(db, page_id); TLang tlang = TLang.getTLangFast(lang_id); TLangPOS lang_pos = TLangPOS.getByID(db, lang_pos_id); // visual //setContentView(R.layout.word_card_pos); LayoutParams fpwc = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1); LinearLayout result_layout = new LinearLayout(this); result_layout.setOrientation(LinearLayout.VERTICAL); //result_layout.setLayoutParams(fpfp); result_layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); TextView pos_text = new TextView(this); pos_text.setTextColor(KWConstants.pos_color); pos_text.setTextSize(TypedValue.COMPLEX_UNIT_SP, KWConstants.text_size_medium); pos_text.setLayoutParams(fpwc); pos_text.setGravity(Gravity.TOP); pos_text.setText( getPOSText(lang_pos) ); result_layout.addView(pos_text); // create meanings: definition + relations + translations //LinearLayout ll_pos = (LinearLayout) findViewById(R.id.posLinearLayout); TTranslation[] ttranslations = TTranslation.getByLangPOS(db, lang_pos); TMeaning[] mm = TMeaning.get(db, lang_pos); for(TMeaning m : mm) { WCMeaning _meaning = new WCMeaning(); LinearLayout _ll = _meaning.create(db, this, m, mm.length, tlang, ttranslations); result_layout.addView( _ll ); } setContentView(result_layout); } //TextView textView = new TextView(this); //textView.setText("Hello world!"); //setContentView(textView); /** Gets a name of part of speech in the user's language (native Wiktionary language), * e.g. "noun", or "conjunction". **/ public String getPOSText(TLangPOS _lang_pos) { POS _pos = _lang_pos.getPOS().getPOS(); String s = _pos.toString(Connect.getNativeLanguage()); //String s = _pos.getShortName(KWConstants.native_lang); if (KWConstants.DEBUGUI) s += String.format("; lang_pos.id = %d", _lang_pos.getID()); return s; } }