2012-08-05 115 views
0

我是Android和Java的新手。我想用一個微調器創建一個應用程序。我希望它:從微調框中選擇一個元素,例如element1,並且我希望它在文本視圖中顯示一個明確的文本。使用Android微調器

Spinner id: `Spinner_Elemente` 
Spinner Items: String Array: `Elemente` 
Text View id: edtElemente 

你能幫我一些簡單的代碼嗎?我看了developer site,但我不明白。所以,如果你能用我的例子的簡單代碼來幫助我,我將不勝感激。

對不起,我的工程師。 :)

+0

如果您的問題解決了,你應該張貼答案,接受它,而不是將*解決*放入您的標題 – j0k 2012-08-07 13:17:50

+0

@ j0k,好的謝謝(我是新的在stackoverflow):) – ibancioiu 2012-08-07 19:12:46

回答

0

解決,@仙人,有在代碼中使用一點問題....的corect代碼

public class ChimExpressMainActivity extends Activity implements OnItemSelectedListener { 
Spinner Spinner_Elemente_Java; 
TextView Text_Despre_Element_Afisare; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_chim_express_main); 
    Spinner_Elemente_Java=(Spinner) findViewById(R.id.Spinner_Elemente); 
    Spinner_Elemente_Java.setOnItemSelectedListener(this); 
    Text_Despre_Element_Afisare=(TextView) findViewById(R.id.edtElement); 
    Text_Despre_Element_Afisare.setMovementMethod(new ScrollingMovementMethod()); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_chim_express_main, menu); 
    return true; 
} 

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, 
     long arg3) { 
////////////////////////----TEST SPINNEER----//////////////////////////////////////////////////////////////////////////////////// 
     //Text_Despre_Element_Afisare.setText((CharSequence) Spinner_Elemente_Java.getItemAtPosition(arg2)); 
     //Text_Despre_Element_Afisare.setText("Hidrogenul este elementul chimic în tabelul periodic al elementelor cu simbolul H și numărul atomic 1. Este un gaz ușor inflamabil, incolor, insipid, inodor, iar în natură se întâlnește mai ales sub formă de moleculă diatomică, H2. Având masa atomică egală cu 1,00794 u.a.m. , hidrogenul este cel mai ușor element chimic. Etimologic, cuvântul hidrogen este o combinație a două cuvinte grecești, având semnificația de „a face apă」.Hidrogenul elementar este principala componentă a Universului, având o pondere de 75 % din masa acestuia.[1] În starea de plasmă, se găsește ca element majoritar în alcătuirea stelelor. Hidrogenul elementar este foarte puțin răspândit pe Pământ.Pentru necesități industriale există diferite procedee de fabricație, puse la punct din punct de vedere tehnologic sau aflate în fază de laborator. Hidrogenul poate fi obținut prin electroliza apei, procesul necesitând costuri mai mari decât cel de producere prin procesarea gazelor naturale.[2]Cel mai răspândit izotop al hidrogenului este protiul, care este alcătuit dintr-un singur proton în nucleu și un electron în învelișul electronic. În compușii ionici poate avea sarcină negativă (anion cunoscut sub numele de hidrură, H-) sau sarcină pozitivă H+ (cation). Hidrogenul formează compuși chimici cu majoritatea elementelor din sistemul periodic și este prezent în apă și în mulți dintre compușii organici. Are un rol important în reacțiile acido-bazice, acestea bazându-se pe schimbul de protoni între molecule. Fiind singurul atom pentru care soluția analitică a ecuației lui Schrödinger este pe deplin cunoscută, prezintă un rol major în fundamentarea teoriei mecanicii cuantice.Hidrogenul este un gaz puternic reactiv și își găsește aplicații datorită capacității sale chimice de reducător.[3] Hidrogenul se folosește în industria petrochimică la producerea benzinelor, în industria chimico-alimentară pentru hidrogenarea grăsimilor (de exemplu producerea margarinei), în prelucrările mecanice ale metalelor și în tratamentul termic al acestora.[4]Hidrogenul reprezintă o alternativă pentru înlocuirea benzinei drept combustibil pentru vehiculele echipate cu motoare cu ardere internă.[5] Avantajele sale principale constau în faptul că este ecologic, din arderea sa rezultând vapori de apă, iar randamentul termic al motoarelor cu hidrogen este ridicat. Dezavantajele constau în pericolul mare de explozie, dificultatea stocării în vehicul și lipsa unor rețele de stații de alimentare cu hidrogen. Una dintre cele mai promițătoare soluții tehnice o reprezintă conversia directă a energiei chimice din hidrogen în electricitate, prin intermediul pilelor de combustie.[6]"); 
     //Text_Despre_Element_Afisare.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>")); 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  

    if(arg0.getSelectedItem().toString().equals("Hidrogen")){ 
     Text_Despre_Element_Afisare.setText((CharSequence) Spinner_Elemente_Java.getItemAtPosition(arg2)); 
    } 
    else{ 
     if(arg0.getSelectedItem().toString().equals("Heliu")) 
     { 
      Text_Despre_Element_Afisare.setText((CharSequence) Spinner_Elemente_Java.getItemAtPosition(arg2)); 
     } 
     else{ 
      Text_Despre_Element_Afisare.setText("Close"); 
     } 
    } 
} 

public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 

} 
} 
0

有某些步驟應遵循的微調工作

  1. 創建在res /值/ array.xml或strings.xml中 例如陣列

    <resources> 
        <string-array name="colors"> 
         <item>Red</item> 
         <item>Green</item> 
         <item>Blue</item> 
         <item>White</item> 
        </string-array> 
    </resources> 
    
  2. 創建主要佈局文件 例如微調元件

    <Spinner 
    android:id="@+id/spin" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:entries="@array/colors" 
    android:prompt="@string/SPrompt"/> 
    
  3. Java實現活動

  4. 創建Java對象OnItemSelectedListener接口: 例如

    Spinner s =(Spinner)findViewById(R.id.spin); s.setOnItemSelectedListener(this);

  5. 覆蓋兩個方法,做你想要的東西時,從微調所選擇的工作:

    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){} 
    public void onNothingSelected(AdapterView<?> arg0){} 
    
+0

我知道步驟1,2,4,但我不明白步驟3和5,你能應用這些步驟對我的例子tu瞭解嗎? (請) – ibancioiu 2012-08-05 17:17:03

0

這是你的榜樣建議的Java文件。

public class SpinnerExActivity extends Activity implements OnItemSelectedListener 
{ 
Spinner s; 
TextView tv; 

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    s=(Spinner) findViewById(R.id.Spinner_Elemente); 
    s.setOnItemSelectedListener(this); 
    tv=(TextView) findViewById(R.id.edtElemente); 
} 

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) 
{ 
    tv.setText(s.getItemAtPosition(arg2)); 
} 

public void onNothingSelected(AdapterView<?> arg0) 
{ 
} 

}

+0

另外兩個問題:) 1)什麼是arg0,1,2和3? 2)你能幫我設置我的HTC Sensation設備的佈局嗎?我必須創建解決方案,因爲我無法在Eclipse中找到它。我只有Nexus One和其他設備機器人不適用於HTC Sensation,我沒有在網上找到一些可以幫助我的東西:) – ibancioiu 2012-08-05 17:43:22

+0

好吧,所以我知道所有'arg',但是如果我想從一個物體微調例如'element1'顯示'aaaaa'結束'element2'顯示'ccc'我怎麼做?我不想讓它顯示我在Spinner中選擇的內容:) – ibancioiu 2012-08-05 18:09:59

+0

http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html此鏈接將幫助您理解對象arg0,arg1, arg2,arg3。和http://stackoverflow.com/questions/7859547/layout-issue-on-htc-sensation這可能會幫助你的HTC Sensation的佈局。 – Rishi 2012-08-05 18:12:50