应用程序崩溃尝试设置从Spinner到TextView选择的文本时



我想从Spinner到TextView设置文本,但是当我尝试进行应用程序时。任何人都可以帮我吗?

public class MainActivity extends AppCompatActivity {
    TextView txt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txt=(TextView) findViewById(R.id.txt1) ;
        ArrayList<ItemData> list=new ArrayList<>();
        list.add(new ItemData("Cash",R.drawable.paymentcashnew));
        list.add(new ItemData("Paytm",R.drawable.paymentpaytmnew));
        Spinner sp=(Spinner)findViewById(R.id.select_cash);
        String result = sp.getSelectedItem().toString();
        txt.setText(result);

        SpinnerAdapter adapter=new SpinnerAdapter(this,
                R.layout.spinner,R.id.txt,list);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        sp.setAdapter(adapter);

    }
}
       sp.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                    String result = sp.getSelectedItem().toString();
    txt.setText(result);
                }
            });

这可能会有所帮助。

旋转器没有" getSelectedItem"。https://developer.android.com/reference/android/widget/spinner.html https://developer.android.com/guide/guide/topics/ui/controls/controls/spinner.html这是您获得所选行的文本值:https://stackoverflow.com/a/15545909/3022387

spin.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                String imc_met=spin.getSelectedItem().toString();
            }
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
            }
        });

实现 spinner.setOnItemClickListener,然后在这种方法中找到文本。

spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
              String result = sp.getSelectedItem().toString();
              txt.setText(result);
            }
        });

在设置Adapter之前您无法获得所选项目。

public class MainActivity extends AppCompatActivity {
final TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt=(TextView) findViewById(R.id.txt1) ;
ArrayList<ItemData> list=new ArrayList<>();
list.add(new ItemData("Cash",R.drawable.paymentcashnew));
list.add(new ItemData("Paytm",R.drawable.paymentpaytmnew));
Spinner sp=(Spinner)findViewById(R.id.select_cash);
SpinnerAdapter adapter=new SpinnerAdapter(this,
        R.layout.spinner,R.id.txt,list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()     {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    Object item = parent.getItemAtPosition(position);
String result = sp.getSelectedItem().toString();
txt.setText(result);
}
public void onNothingSelected(AdapterView<?> parent) {
}
});

}
}

最新更新