2016-05-20 11 views
0

Javaファイル変換スピナー値

public class CreateScreen extends AppCompatActivity { 

    EditText e1,e2,e3,e4,e5,e6,e7; 
    Button b1,b2; 
    Spinner s1,s2; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
     StrictMode.setThreadPolicy(policy); 
     setContentView(R.layout.activity_create_screen); 
     final Intent i = getIntent(); 

     String vno = i.getStringExtra("vno"); 
     String com = i.getStringExtra("com"); 
     e1=(EditText)findViewById(R.id.editText8); 
     e2=(EditText)findViewById(R.id.editText9); 
     e3=(EditText)findViewById(R.id.editText10); 
     e4=(EditText)findViewById(R.id.editText11); 
     e5=(EditText)findViewById(R.id.editText12); 
     e6=(EditText)findViewById(R.id.editText13); 
     e7=(EditText)findViewById(R.id.editText14); 

     e1.setText(vno); 
     e2.setText(com); 
     s1=(Spinner)findViewById(R.id.spinner); 
     String[] items = new String[]{"RAW MATERIAL", "FINISHED MATERIAL", "SEMI FINISHED MATERIAL"}; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items); 
     s1.setAdapter(adapter); 
     final String matgrp = adapter.toString(); 

     s2=(Spinner)findViewById(R.id.spinner2); 
     String[] item = new String[]{"INR", "USD", "MYR","JPY", "SGD"}; 

     ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, item); 
     s2.setAdapter(adapter1); 

     final String currency = adapter1.toString(); 
     b1=(Button)findViewById(R.id.save); 
     b2=(Button)findViewById(R.id.home); 

     b2.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent i = new Intent(CreateScreen.this,MaterialMenu.class); 
       startActivity(i); 
      } 
     }); 
     b1.setOnClickListener(new View.OnClickListener() { 
      InputStream is =null; 
      String result1 =null; 

      @Override 
      public void onClick(View v) { 
       String a = e1.getText().toString(); 
       String b = e2.getText().toString(); 
       String c = e3.getText().toString(); 
       String d = e4.getText().toString(); 
       String z = e5.getText().toString(); 
       String f = e6.getText().toString(); 
       String g = e7.getText().toString(); 

       ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
       nameValuePairs.add(new BasicNameValuePair("materialnumber", a)); 
       nameValuePairs.add(new BasicNameValuePair("companycode", b)); 
       nameValuePairs.add(new BasicNameValuePair("desc", c)); 
       nameValuePairs.add(new BasicNameValuePair("mattype", matgrp)); 

       nameValuePairs.add(new BasicNameValuePair("matgroup", d)); 
       nameValuePairs.add(new BasicNameValuePair("baseunit", z)); 
       nameValuePairs.add(new BasicNameValuePair("priceunit", f)); 
       nameValuePairs.add(new BasicNameValuePair("orderunit", g)); 
       nameValuePairs.add(new BasicNameValuePair("curr",currency)); 

       try { 
        HttpClient httpClient = new DefaultHttpClient(); 
        HttpPost httpPost = new HttpPost("http://10.0.2.2/android/create.php"); 
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
        HttpResponse response = httpClient.execute(httpPost); 
        HttpEntity entity = response.getEntity(); 
        is = entity.getContent(); 

        android.util.Log.e("log_tag", "connection success "); 

       } catch (Exception e) { 
        android.util.Log.e("log_tag", "Error in http connection " + e.toString()); 
        Toast.makeText(getApplicationContext(), "Connection fail", Toast.LENGTH_SHORT).show(); 
       } 
       try { 
        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); 
        StringBuilder sb = new StringBuilder(); 
        String line = null; 
        while ((line = reader.readLine()) != null) { 
         sb.append(line + "\n"); 
        } 
        is.close(); 

        result1 = sb.toString(); 


       } catch (Exception e) { 
        android.util.Log.e("log_tag", "Error converting result " + e.toString()); 
       } 
       try 
       { 
        JSONObject object = new JSONObject(result1); 
        String w = object.getString("re"); 
        if(w.equals("Material Created successfully")) 
        { 
         Toast.makeText(getApplicationContext(), w, Toast.LENGTH_SHORT).show(); 
         Intent i = new Intent(CreateScreen.this, Menu.class); 

         startActivity(i); 
        } 
        else 
        { 
         Toast.makeText(getApplicationContext(), w, Toast.LENGTH_SHORT).show(); 
        } 
       } 
       catch (Exception e) 
       { 
        Log.e("log_tag", "Error parsing data "+e.toString()); 
        Toast.makeText(getApplicationContext(), "JsonArray failed to load", Toast.LENGTH_SHORT).show(); 
       } 

      } 
     }); 
    } 

はlogcat

値は、私が書き換えする必要がありますどのように文字列

に変換することはできませんこのコードはスピナー値をJsonObjectとPHPで使用される文字列に変換しますか?ここ

+0

完全なログを投稿しないでください。 :) –

+0

スピナーの値はどこに渡したいですか? –

+0

誰でも私に作業コードをチェックして更新できますか? – Raahul

答えて

0

これらのコードを削除します。

final String matgrp = adapter.toString(); final String currency = adapter1.toString();

スピナー用にsetOnItemClickListner()メソッドを使用すると、parent.getItemAtPosition()を使用して文字列を取得できる変数を使用して親変数を取得できます。

+0

アダプタ= ArrayAdapter.createFromResource(この、R.array.mat_grp、android.R.layout.simple_spinner_dropdown_item)としてmatgrp s1.setOnItemSelectedListener(新しいAdapterView.OnItemSelectedListener(){@Override onItemSelectedます。public void(AdapterView 親、ビュービュー、int型の位置、長いID){ 最終文字列matgrp = parent.getIt emAtPosition(position).toString(); } matgrpにグローバルとしてアクセスする方法。 – Raahul

0

最終列通貨= adapter1.toString()。

この行のtoString()メソッドは、Spinnerの選択値ではなくadapter1ArrayAdapterというオブジェクトの文字列を返します。スピナーs1から値を取得するために同じことを行う

nameValuePairs.add(new BasicNameValuePair("curr",s2.getSelectedItem().toString())); 

がようSpinnerから選択された値を取得します。お使いのアダプタクラスで

+0

05-20 14:40:08.490 5687-5687/com.example.raahulanand.materialmaster E/log_tag:データの解析中にエラーが発生しましたorg.json.JSONException:値 Raahul

+0

nameValuePairs.add(new BasicNameValuePair() "curr"、s2.getSelectedItem()。toString()));まだエラーが表示されます – Raahul

+0

@Raahul:どのエラー? –

0

アダプタクラス内のオーバーライドtoStringメソッド

@Override 
public String toString() { 
    return super.toString(); 
} 
+0

この@Overrideをどこに追加するか public String toString(){ return super.toString(); }コード – Raahul

+0

誰でも私の作業コードを確認して更新できますか? – Raahul

+0

adapter = ArrayAdapter.createFromResource(this、R.array.mat_grp、android.R.layout.simple_spi nner_dropdown_item);アダプター.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); s1.setAdapter(アダプタ); s1.setOnItemSelectedListener(新しいAdapterView。OnItemSelectedListener(){@Override public void onItemSelected(アダプタビュー親ビュービュー、int位置、ロングID){final String matgrp = parent.getItemAtPosition(position).toString(); }どのようにグローバル – Raahul

0

例:

public class AmenityListAdapter extends SomeAdapter(BaseAdapter, ArrayAdapter etc etc) { 

@Override 
public String toString() { 
    StringBuffer strBuf = ""; 
    for(String myarr:Items) { 
     strBuf.concat(myarr+","); 
    } 
    return strBuf.toString; 
} 
} 
+0

としてmatgrpにアクセスする私はあなたのコード内で使用すると、Androidの既存のアダプタクラスを使用しているので、それはあなたの上記のコードに挿入することができない – Raahul

+0

明確なアイデアを得ることができるようにuは上記の私のコードにこのコードを挿入することができます。 アダプタクラスを拡張してカスタムアダプタを作成し、そのカスタムアダプタクラス内でtoString()メソッドをオーバーライドする必要があります。 私は上記のコードでカスタムアダプターについて言及しました。 パブリッククラスAmenityListAdapterはSomeAdapterを継承します。ここでAmenityListAdapterはカスタムアダプタで、アダプタクラス(例:BaseAdapterまたはArrayListAdapter)を継承しています。その内部では、toStringクラスをオーバーライドすることができます。 –

+0

は、あなたの次のコード行を取ることができます: ArrayAdapter アダプタ1 =新しいArrayAdapter (これ、android.R.layout.simple_spinner_dropdown_item、アイテム); s2.setAdapter(adapter1); AmenityListAdapterアダプタ1 =新しいAmenityListAdapter(あなたのパラメータ)でこの行を置き換えます。 、その後: s2.setAdapter(アダプタ1)。 final String currency = adapter1.toString(); これは、希望の出力を返します。 –

関連する問題