如何解决Spinner-如何获得价值? Android Studio
我想将表单中的值插入数据库。我在微调器的值方面遇到问题,并且做错了,因为当我打算进行下一个表单是应用程序的活动时,就会停止。我将非常感激。
MainActivity.java
public class MainActivity extends AppCompatActivity {
EditText UsernameEt,PasswordEt;
private static Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
UsernameEt = (EditText) findViewById(R.id.etUserName);
PasswordEt = (EditText) findViewById(R.id.etPassword);
OnClickButtonListener();
}
public void OnClickButtonListener() {
btnLogin = (Button) findViewById(R.id.btnLogin);
btnLogin.setonClickListener(
new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(".SecondPan");
startActivity(intent);
}
}
);
}
public void OnLogin(View view)
{
String username = UsernameEt.getText().toString();
String password = PasswordEt.getText().toString();
String type = "login";
BackgroundWorker backgroundWorker = new BackgroundWorker(this);
backgroundWorker.execute(type,username,password);
}
public void OpenReg(View view){
startActivity(new Intent(this,Register.class));
}
}
第二个面板,应在其中定位用户,以及微调器在哪里:
public class SecondPan extends AppCompatActivity implements AdapterView.OnItemClickListener {
private Spinner sspnoption6,sspn2;
private TextView ttxOption6,ttx;
EditText umowa,nazwa,kategorie,opis,zabezpieczenia,dane;
String czy_dane,transfer;
@SuppressLint("CutPasteId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_pan);
Spinner sspn2 = (Spinner)findViewById(R.id.sspn);
czy_dane = sspn2.getSelectedItem().toString();
Spinner sspnoption6 = (Spinner)findViewById(R.id.sspn2);
transfer = sspnoption6.getSelectedItem().toString();
umowa = (EditText) findViewById(R.id.scnd_txt1);
nazwa = (EditText) findViewById(R.id.scnd_txt2);
kategorie = (EditText) findViewById(R.id.scnd_txt3);
opis = (EditText) findViewById(R.id.scnd_tx4);
zabezpieczenia = (EditText) findViewById(R.id.scnd_tx6);
dane = (EditText) findViewById(R.id.scnd_tx7);
sspnoption6 = findViewById(R.id.sspn);
ArrayAdapter<CharSequence> FirstAdapter = ArrayAdapter.createFromresource(this,R.array.tab1,android.R.layout.simple_spinner_item);
FirstAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspn2=findViewById(R.id.sspn2);
ArrayAdapter<CharSequence> Secondadapter = ArrayAdapter.createFromresource(this,R.array.transfer,android.R.layout.simple_spinner_item);
Secondadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspn2.setAdapter(Secondadapter);
}
public void onItemClick(AdapterView<?> parent,View view,int position,long l) {
String text = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(),text,Toast.LENGTH_SHORT).show();
}
public void OnInsert(View view ) {
String str_czy_dane = sspn2.getSelectedItem().toString();
String str_umowa = umowa.getText().toString();
String str_nazwa = nazwa.getText().toString();
String str_kategorie = kategorie.getText().toString();
String str_opis = opis.getText().toString();
String str_transfer = sspn2.getSelectedItem().toString();
String str_zabezpieczenia = zabezpieczenia.getText().toString();
String str_dane = dane.getText().toString();
String type = "insert";
BackgroundWorker backgroundWorker = new BackgroundWorker(this);
backgroundWorker.execute(type,str_czy_dane,str_umowa,str_nazwa,str_kategorie,str_opis,str_transfer,str_zabezpieczenia,str_dane);
}
}
有一个用于发布数据的脚本: BackgroundWorker.java
else if(type.equals("insert")){
try {
String umowa = params[1];
String czy_dane = params[2];
String nazwa = params[3];
String kategorie = params[4];
String opis = params[5];
String transfer = params[6];
String zabezpieczenia = params[7];
String dane = params[8];
URL url = new URL (insert_url);
HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getoutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String post_data = URLEncoder.encode("czy_dane","UTF-8")+"="+URLEncoder.encode(czy_dane,"UTF-8")+"&"+
URLEncoder.encode("umowa","UTF-8")+"="+URLEncoder.encode(umowa,"UTF-8")+"&"
+URLEncoder.encode("nazwa","UTF-8")+"="+URLEncoder.encode(nazwa,"UTF-8")+"&"
+URLEncoder.encode("kategorie","UTF-8")+"="+URLEncoder.encode(kategorie,"UTF-8")+"&"
+URLEncoder.encode("opis","UTF-8")+"="+URLEncoder.encode(opis,"UTF-8")+"&"
+URLEncoder.encode("transfer","UTF-8")+"="+URLEncoder.encode(transfer,"UTF-8")+"&"
+URLEncoder.encode("zabezpieczenia","UTF-8")+"="+URLEncoder.encode(zabezpieczenia,"UTF-8")+"&"
+URLEncoder.encode("dane","UTF-8")+"="+URLEncoder.encode(dane,"UTF-8");
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1")) ;
String result="";
String line="";
while((line = bufferedReader.readLine())!=null) {
result+= line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return result;
} catch (MalformedURLException e) {
e.printstacktrace();
} catch (IOException e) {
e.printstacktrace();
}
}
return null;
解决方法
在您的代码中,您两次分配了Spinner。
Spinner sspn2 = (Spinner)findViewById(R.id.sspn); /// FIRST SPINNER 1 time
czy_dane = sspn2.getSelectedItem().toString();
Spinner sspnOption6 = (Spinner)findViewById(R.id.sspn2);/// SECOND SPINNER 1 time
transfer = sspnOption6.getSelectedItem().toString();
umowa = (EditText) findViewById(R.id.scnd_txt1);
nazwa = (EditText) findViewById(R.id.scnd_txt2);
kategorie = (EditText) findViewById(R.id.scnd_txt3);
opis = (EditText) findViewById(R.id.scnd_tx4);
zabezpieczenia = (EditText) findViewById(R.id.scnd_tx6);
dane = (EditText) findViewById(R.id.scnd_tx7);
sspnOption6 = findViewById(R.id.sspn); /// FIRST SPINNER 2 time
ArrayAdapter<CharSequence> FirstAdapter = ArrayAdapter.createFromResource(this,R.array.tab1,android.R.layout.simple_spinner_item);
FirstAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspn2=findViewById(R.id.sspn2); /// SECOND SPINNER 2 time
ArrayAdapter<CharSequence> Secondadapter = ArrayAdapter.createFromResource(this,R.array.transfer,android.R.layout.simple_spinner_item);
Secondadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspn2.setAdapter(Secondadapter);
解决方案:
Spinner sspn2 ;
Spinner sspnOption6 ;
umowa = (EditText) findViewById(R.id.scnd_txt1);
nazwa = (EditText) findViewById(R.id.scnd_txt2);
kategorie = (EditText) findViewById(R.id.scnd_txt3);
opis = (EditText) findViewById(R.id.scnd_tx4);
zabezpieczenia = (EditText) findViewById(R.id.scnd_tx6);
dane = (EditText) findViewById(R.id.scnd_tx7);
sspnOption6 = findViewById(R.id.sspn);
ArrayAdapter<CharSequence> FirstAdapter = new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,getResources()
.getStringArray(R.array.tab1));
FirstAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspnOption6.setAdapter(FirstAdapter);
sspn2=findViewById(R.id.sspn2);
ArrayAdapter<CharSequence> Secondadapter = new ArrayAdapter<CharSequence>(this,getResources()
.getStringArray(R.array.transfer));
Secondadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sspn2.setAdapter(Secondadapter);
czy_dane = sspn2.getSelectedItem().toString();
transfer = sspnOption6.getSelectedItem().toString();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。