gpt4 book ai didi

android - 显示编辑文本的按钮始终为空白(JSON 后台处理给出正确答案后))

转载 作者:行者123 更新时间:2023-11-29 11:59:46 25 4
gpt4 key购买 nike

我想显示来自“按钮 GetOutlet”的编辑文本字段(来自 JSON 后台过程),但无法使其出现在屏幕上。 Outletno 和 Outletname 字段始终为空。

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

有人可以帮我吗???

这是我的 Activity (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}

谢谢您,我非常感激。

最佳答案

您将 EditText 转换到 TextView

此处错误:

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

将转换更改为 EditText

关于android - 显示编辑文本的按钮始终为空白(JSON 后台处理给出正确答案后)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32580402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com