显示 edittext 的按钮总是空白(在 JSON 后台处理给出正确答案后))

Button to display edittext always got blank (after JSON background processing gave the right answer))

我想显示来自 'button GetOutlet'(来自 JSON 后台程序)的 edittext 字段,但无法使其出现在屏幕上。 Outletno 和 Outletname 字段始终为空。

我检查了主机服务器上的 php 处理,它给了我正确的处理结果,成功 = 1,数组包含 Outletno 和 Outletname(只有 1 条记录 - 我已经设置MySQL).

上的 LIMIT 1

谁能帮我解决这个问题???

这是我的活动 (Outletcheckout):

>     public class Outletcheckout extends Activity {
>     
>       // Progress Dialog
>       private ProgressDialog pDialog;
>     
>       JSONParser jsonParser = new JSONParser();
>       
>       String username;
>     
>       EditText inputOutletno;
>       EditText inputOutletname;
>       
>       private TextView tv5,tv6;
>       
>       protected  Button btnGetOutlet;
>       
>       Button btnOutletCheckout;
>     
>          // url to get outlet no and name
>           private static String url_checkout_getoutlet = "http://192.168.0.245/vcirps/create_product_checkout_getoutlet.php";  
> 
>       
>           // url to create new product
>           private static String url_checkout = "http://192.168.0.245/vcirps/create_product_checkout.php";
>     
>           // JSON Node names
>           private static final String TAG_SUCCESS = "success";
>           private static final String TAG_PRODUCT = "product";
>     
>           private static final String TAG_OUTLETNAME = "outletname";
>           private static final String TAG_OUTLETNO = "outletno";
>           
>           
>           @Override
>           public void onCreate(Bundle savedInstanceState) {
>               StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
>                 .detectDiskReads().detectDiskWrites().detectNetwork() 
>                 .penaltyLog().build());
>               super.onCreate(savedInstanceState);
>               setContentView(R.layout.checkout);
>               
>               // Edit Text
>     
>               SharedPreferences sp2 = PreferenceManager.getDefaultSharedPreferences(Outletcheckout.this);
>                 String username = sp2.getString("username", "anon");
>                           
>               // Create button
>               Button btnGetOutlet = (Button) findViewById(R.id.btnGetOutlet);
>               
>               tv5 = (TextView) findViewById(R.id.inputOutletno);
>               tv6 = (TextView) findViewById(R.id.inputOutletname);
>           
>               btnGetOutlet.setOnClickListener(new View.OnClickListener() {
>              
>                       @Override
>                       public void onClick(View v) {
>                           new ShowOutlet().execute();
>                       }
>               });

这是我的 Outletcheckout 的延续,进行后台处理:

        /**


>  * Creating product
>            * */
>               
>               protected String doInBackground(String... params) {
> 
>                   // updating UI from Background Thread
>                   runOnUiThread(new Runnable() {
>                       public void run() {
>                           // Check for success tag
>                           int success;
>                           try {
>                               // Building Parameters
>                               List<NameValuePair> params = new ArrayList<NameValuePair>();
>                               params.add(new BasicNameValuePair("username", username));
> 
>                               // getting product details by making HTTP request
>                               // Note that product details url will use GET request
>                               JSONObject json = jsonParser.makeHttpRequest(
>                                       url_checkout_getoutlet, "GET", params);
> 
>                               // check your log for json response
>                               Log.d("Check-out Get Outlet", json.toString());
>                               
>                               // json success tag
>                               success = json.getInt(TAG_SUCCESS);
>                               if (success == 1) {
>                                   // successfully received product details
>                                   JSONArray productObj = json
>                                           .getJSONArray(TAG_PRODUCT); // JSON Array
>                                   
>                                   // get first product object from JSON Array
>                                   JSONObject product = productObj.getJSONObject(0);
> 
>                                   // outlet with username found
>                                   // Edit Text
>                       
>                                   tv5 = (TextView) findViewById(R.id.inputOutletno);
>                                   tv6 = (TextView) findViewById(R.id.inputOutletname);
>                                   
>                                   // display product data in EditText
>                   
>                                   tv5.setText(""+product.getString(TAG_OUTLETNO));
>                                   tv6.setText(""+product.getString(TAG_OUTLETNAME));
>                                   
> 
>                               }else{
>                                   // product with pid not found
>                               }
>                           } catch (JSONException e) {
>                               e.printStackTrace();
>                           }
>                       }
>                   });
> 
>                   return null;
>               }

这是我的布局 (checkout.xml):

>     <?xml version="1.0" encoding="utf-8"?>
>     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
>         android:layout_width="match_parent"
>         android:layout_height="match_parent"
>         android:orientation="vertical" >
>         
>        
>       <Button 
>       
>           android:id="@+id/btnGetOutlet"
>           android:layout_width="fill_parent"
>           android:layout_height="wrap_content"
>            android:background="@color/green"
>            style="@style/BlackText"
>           android:text="Get Last Check-in Outlet Button"/>
>        
>        
>        
>         <!-- Name Label -->
>      
>       <TextView android:layout_width="fill_parent"
>             android:id="@+id/textOutletno"
>             android:layout_height="wrap_content"
>             android:text="Outlet Number"
>             android:paddingLeft="10dip"
>             android:paddingRight="10dip"
>             android:paddingTop="10dip"
>             android:textSize="17dip"/>
>         
>         <!-- Input Name -->
>       <EditText 
>           android:id="@+id/inputOutletno"
>           android:layout_width="fill_parent"
>           android:layout_height="wrap_content"
>           android:layout_margin="5dip"
>           android:layout_marginBottom="15dip"
>         
>           android:singleLine="true"/>
>       
>       <!-- Price Label -->
>         <TextView android:layout_width="fill_parent"
>             android:id="@+id/textOutletname"
>             android:layout_height="wrap_content"
>             android:text="Outlet Name "
>             android:paddingLeft="10dip"
>             android:paddingRight="10dip"
>             android:paddingTop="10dip"
>             android:textSize="17dip"/>
>         
>         <!-- Input Price -->
>       <EditText 
>           android:id="@+id/inputOutletname"
>           android:layout_width="fill_parent"
>           android:layout_height="wrap_content"
>           android:layout_margin="5dip"
>           android:layout_marginBottom="15dip"
>           android:singleLine="true"
>            />



<Button 

    android:id="@+id/btnOutletCheckout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
     android:background="@color/red"
     style="@style/BlackText"
    android:text="Check Out Button"/>

这是服务器 php MySQL JSON 的响应:

{"products":[{"outletno":"1150","outletname":"ssl"}],"success":1}

谢谢你,我非常感激。

您在 TextView

中施放 EditText

此处错误:

tv5 = (TextView) findViewById(R.id.inputOutletno);
tv6 = (TextView) findViewById(R.id.inputOutletname);

将转换更改为 EditText