如何将微调器数据从一项活动传递到另一项活动?

Pun*_*h K 5 android spinner android-intent android-activity

这段代码不是从微调器读取值,而是始终仅读取第一个值,

btnResult.setOnClickListener(new View.OnClickListener() 
{
    final String USN = spnConversions.getSelectedItem().toString();
    @Override
    public void onClick(View v) 
    {
        Intent i = new Intent(getApplicationContext(), DatabaseResult.class);
        i.putExtra("getData",USN.toString());
        startActivity(i);
    }
});
Run Code Online (Sandbox Code Playgroud)

Luc*_*fer 4

为什么您使用 onClickListener 进行 Spinner ?您应该对 Spinner 使用 OnItemSelectedListener() 请参阅下面的示例代码,

public class MySpinnerSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        String selected = parent.getItemAtPosition(pos).toString();
    }

    public void onNothingSelected(AdapterView parent) {
        // Do nothing.
    }
}
Run Code Online (Sandbox Code Playgroud)

现在使用以下代码注册监听器,

 spinner.setOnItemSelectedListener(new MySpinnerSelectedListener());
Run Code Online (Sandbox Code Playgroud)

您可以使用以下代码传递它,

// 发送代码

Intent intent = new Intent(getApplicationContext(), DatabaseResult.class);
intent.putextra("getData",USN.toString());
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

// 接收代码,

String value= getIntent().getStringExtra("getData");
Run Code Online (Sandbox Code Playgroud)