0

我是 Android 和 Java 的新手。我想用一个微调器创建一个应用程序。我希望它:从微调器中选择一个元素,例如 element1,并且我希望它在文本视图案例中显示一个明确的文本。

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

你能帮我一些简单的代码吗?我查看了开发人员网站,但我不明白。因此,如果您能为我的示例提供一个简单的代码,我将不胜感激。

对不起我的英语。:)

4

3 回答 3

0

Spinner 工作需要遵循某些步骤

  1. 在 res/values/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 元素,例如

    <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 Activity 中实现 OnItemSelectedListener 接口

  4. 创建java对象:例如

    微调器 s=(微调器) findViewById(R.id.spin); s.setOnItemSelectedListener(this);

  5. 当从微调器中选择某些内容时,覆盖两个方法并执行您想要的工作:

    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){}
    public void onNothingSelected(AdapterView<?> arg0){}
    
于 2012-08-05T13:21:24.793 回答
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)
{
}

}

于 2012-08-05T17:42:08.333 回答
0

已解决,@Rishi,代码中存在小问题....正确的代码

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

}
}
于 2012-08-05T21:40:37.443 回答