Недапушчальны адказ JSON з PHP?

Я спрабую разабраць JSON адказ ад майго PHP файлы. Першы AsyncTask вяртае правільныя вынікі, то другая ня робіць. Я лічу, што праблема ў маім «mysql_queries.php».

 public class GeneralAssets extends ListFragment {
View view;
EditText cn, pn;
ActionBar ab;

private String url = "http://192.168.x.x/questions.php";
private String companyName, projectName;    

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    view = inflater.inflate(R.layout.general_assets_questions, container,
            false);

    ab = getActivity().getActionBar();
    cn = (EditText)view.findViewById(R.id.company_input);
    pn = (EditText)view.findViewById(R.id.project_input);       

    Button load = (Button) view
            .findViewById(R.id.generalAssets_load_button_ID);
    load.setOnClickListener(new View.OnClickListener() {
        boolean large = getResources().getConfiguration()
                .isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE);

        @Override
        public void onClick(View v) {               
            new LoadAllQuestions().execute();
        }
    });         

    return view;
}   

class LoadAllQuestions extends AsyncTask {

    private static final String TAG_SUCCESS = "success";
    private static final String TAG_QUESTIONS = "questions";
    private static final String TAG_NAME = "display_name";
    private static final String TAG_FIELD = "field_type";

    private ProgressDialog pDialog;     

    JSONParser jParser = new JSONParser();
    JSONArray questions = null;

    ArrayList> questionsList = new ArrayList>();

    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(getActivity());
        pDialog.setMessage("Loading questions. Please wait...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }

    protected String doInBackground(String... args) {


       //getting JSON string from URL
        companyName = cn.getText().toString();
        projectName = pn.getText().toString();
        String componentName = (String) ab.getSelectedTab().getText();

        List nameValuePairs = new ArrayList(
                3);
        nameValuePairs
                .add(new BasicNameValuePair("company", companyName));
        nameValuePairs
                .add(new BasicNameValuePair("project", projectName));
        nameValuePairs
        .add(new BasicNameValuePair("component", componentName));           

        JSONObject json = jParser.makeHttpRequest(url, "POST",
                nameValuePairs);

       //Check your log cat for JSON reponse
        Log.d("All Questions: ", json.toString());

        try {
           //Checking for SUCCESS TAG
            int success = json.getInt(TAG_SUCCESS);

            if (success == 1) {
               //products found: getting Array of Questions
                questions = json.getJSONArray(TAG_QUESTIONS);

               //looping through All Questions
                for (int i = 0; i < questions.length(); i++) {

                    JSONObject c = questions.getJSONObject(i);

                   //Storing each json item in variable
                    String name = c.getString(TAG_NAME);
                    String field = c.getString(TAG_FIELD);

                   //creating new HashMap
                    HashMap map = new HashMap();

                   //adding each child node to HashMap key => value
                    map.put(TAG_NAME, name);
                    map.put(TAG_FIELD, field);

                   //adding HashList to ArrayList
                    questionsList.add(map);
                }
            } else {
               //no products found
               //Launch Add New product Activity
                Log.v("ERROR", "No JSON for you!");
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }

    protected void onPostExecute(String file_url) {
       //dismiss the dialog after getting all products
        pDialog.dismiss();

       //updating UI from Background Thread
        getActivity().runOnUiThread(new Runnable() {
            public void run() {

                //Updating parsed JSON data into ListView                    
                ListAdapter adapter = new SimpleAdapter(getActivity(),
                        questionsList,
                        R.id.genA_layout,
                        new String[] { TAG_FIELD, TAG_NAME },
                        new int[] { R.id.answer, R.id.name });
               //updating listview
                setListAdapter(adapter);
            }
        });
    }
}

}

Клас «SearchPosts» вяртае наступнае ў Log.v «вынікі» Радок Які JSON адказ я шукаю.

{
    "questions": [
        {
            "display_name": "Store #",
            "field_type": "Text Field",
            "option_value": ""
        },
        {
            "display_name": "Address",
            "field_type": "Text Field",
            "option_value": ""
        },
        {
            "display_name": "Type of Business",
            "field_type": "Drop Down Menu",
            "option_value": "Education\r\nHealth\r\nComputers\r\nFood\r\nRetail\r\nOther"
        },
        {
            "display_name": "Is this business good?",
            "field_type": "Radio",
            "option_value": "Yes\r\nNo"
        },
        {
            "display_name": "Are they nice people?",
            "field_type": "Check Box",
            "option_value": "Yes\r\nNo"
        }
    ],
    "success": 1
}

У «LoadAllQuestions» вяртае клас гэта, а затым адбываецца аварыйнае

06-02 02:24:05.909: E/json data(17350): json result 
Notice: Undefined index: company in C:\xampp\htdocs\mysql_queries.php on line 4

Notice: Undefined index: project in C:\xampp\htdocs\mysql_queries.php on line 5

Notice: Undefined index: component in C:\xampp\htdocs\mysql_queries.php on line 6
No results found

Вось мой PHP <�код /> файлы

<�Моцны> questions.php

<?php

require 'connect.php';
require 'mysql_queries.php';

 if ($query_run = mysql_query($questions_query)) {
if (mysql_num_rows($query_run) == NULL) {
    echo ('No results found');
} else {            
    $response ['questions'] = array();      
    while ($row = mysql_fetch_assoc($query_run)) {
        $info = array();
        $info['display_name'] = $row['display_name'];
        $info ['field_type'] = $row['field_type'];
        $info ['option_value'] = $row['option_value'];          

        array_push($response["questions"], $info);          
    }
   //success
    $response["success"] = 1; 
   //echoing JSON response
    echo json_encode($response);
}
} else {
$response["success"] = 0; 
$response["message"] = "No data found"; 
echo json_encode($response);
}

?>

<�Моцны> mysql_queries

<?php
require_once 'connect.php';

$company_name = $_POST['company'];
$project_name = $_POST['project'];
$component_name = $_POST['component'];

$questions_query = "SELECT CFM.display_name, CFM.field_type, CFM.option_value
                FROM company_mast
                LEFT JOIN component_mast 
                ON company_mast.id = component_mast.company_id
                LEFT JOIN CustomField_mast CFM 
                ON CFM.Company_ID = Component_mast.Company_ID
                AND CFM.Component_ID = component_Mast.Component_ID
                WHERE component_mast.component_name =  '".$component_name."'
                AND (component_mast.project_id = '".$project_name."'
                OR company_mast.company_name =  '".$company_name."')";                  
 ?>

Дык чаму ж першы AsyncTask вяртае правільны адказ і другія адзін прыдумаць NULL ?

Мая здагадка, што POST выходзіць з вобласці бачнасці да таго часу КЛАСА «LoadAllQuestions» спрабуе разабраць JSON адказ, але я пачатковец у гэтым, і я не «ведаю, як гэта выправіць.

Edit
I adjusted the code from suggestions. I am receiving the proper JSON response but I am now receiving this in my logcat.

 06-02 03:16:27.539: E/json data(19020): json result {"questions": [{"display_name":"Store #","field_type":"Text Field","option_value":""},{"display_name":"Address","field_type":"Text Field","option_value":""},{"display_name":"Type of Business","field_type":"Drop Down Menu","option_value":"Education\r\nHealth\r\nComputers\r\nFood\r\nRetail\r\nOther"},{"display_name":"Is this business good?","field_type":"Radio","option_value":"Yes\r\nNo"},{"display_name":"Are they nice people?","field_type":"Check Box","option_value":"Yes\r\nNo"}],"success":1}
 06-02 03:16:27.539: D/All Questions:(19020): {"success":1,"questions":[{"option_value":"","field_type":"Text Field","display_name":"Store #"},{"option_value":"","field_type":"Text Field","display_name":"Address"},{"option_value":"Education\r\nHealth\r\nComputers\r\nFood\r\nRetail\r\nOther","field_type":"Drop Down Menu","display_name":"Type of Business"},{"option_value":"Yes\r\nNo","field_type":"Radio","display_name":"Is this business good?"},{"option_value":"Yes\r\nNo","field_type":"Check Box","display_name":"Are they nice people?"}]}

    06-02 03:35:11.069: E/json data(19250): json result {"questions":[{"display_name":"Store #","field_type":"Text Field","option_value":""},{"display_name":"Address","field_type":"Text Field","option_value":""},{"display_name":"Type of Business","field_type":"Drop Down Menu","option_value":"Education\r\nHealth\r\nComputers\r\nFood\r\nRetail\r\nOther"},{"display_name":"Is this business good?","field_type":"Radio","option_value":"Yes\r\nNo"},{"display_name":"Are they nice people?","field_type":"Check Box","option_value":"Yes\r\nNo"}],"success":1}
06-02 03:35:11.079: D/All Questions:(19250): {"success":1,"questions":[{"option_value":"","field_type":"Text Field","display_name":"Store #"},{"option_value":"","field_type":"Text Field","display_name":"Address"},{"option_value":"Education\r\nHealth\r\nComputers\r\nFood\r\nRetail\r\nOther","field_type":"Drop Down Menu","display_name":"Type of Business"},{"option_value":"Yes\r\nNo","field_type":"Radio","display_name":"Is this business good?"},{"option_value":"Yes\r\nNo","field_type":"Check Box","display_name":"Are they nice people?"}]}
06-02 03:35:11.109: D/AndroidRuntime(19250): Shutting down VM
06-02 03:35:11.109: W/dalvikvm(19250): threadid=1: thread exiting with uncaught exception (group=0x41093930)
06-02 03:35:11.129: E/AndroidRuntime(19250): FATAL EXCEPTION: main
06-02 03:35:11.129: E/AndroidRuntime(19250): android.content.res.Resources$NotFoundException: Resource ID #0x7f09009f type #0x12 is not valid
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2144)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.content.res.Resources.getLayout(Resources.java:853)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.SimpleAdapter.createViewFromResource(SimpleAdapter.java:121)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.SimpleAdapter.getView(SimpleAdapter.java:114)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.AbsListView.obtainView(AbsListView.java:2159)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.ListView.onMeasure(ListView.java:1130)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1217)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.ScrollView.onMeasure(ScrollView.java:321)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1231)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.View.measure(View.java:15518)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.Choreographer.doCallbacks(Choreographer.java:562)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.Choreographer.doFrame(Choreographer.java:532)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.os.Handler.handleCallback(Handler.java:725)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.os.Looper.loop(Looper.java:137)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at android.app.ActivityThread.main(ActivityThread.java:5041)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at java.lang.reflect.Method.invokeNative(Native Method)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at java.lang.reflect.Method.invoke(Method.java:511)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-02 03:35:11.129: E/AndroidRuntime(19250):    at dalvik.system.NativeStart.main(Native Method)

<�Моцны> xml

    <?xml version="1.0" encoding="utf-8"?>


    

        

            

                

                
            

            

                

                
            

            <button
                android:id="@+id/generalAssets_load_button_ID"
                style="?android:attr/borderlessButtonStyle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="@string/load" />

            
            
        

        

        
    
    
1
што лінія 234 вашага кода?
дададзена аўтар Muhannad A.Alhariri, крыніца
што лінія 234 вашага кода?
дададзена аўтар Muhannad A.Alhariri, крыніца
@i_me_mine Я абнавіў адказ на futrue чытання, але вы павінны inistialize questionList
дададзена аўтар Muhannad A.Alhariri, крыніца
@i_me_mine Я абнавіў адказ на futrue чытання, але вы павінны inistialize questionList
дададзена аўтар Muhannad A.Alhariri, крыніца
Я не бачу mysql_queries рэха нічога наўзамен? Праверце URL у браўзэры ўручную забяспечваючы URL з кампаніяй, кампанента праекта ..
дададзена аўтар Ryan, крыніца
Я проста дадаў адказ, але я думаю, што вы, магчыма, рэдагавалі з выпраўленнямі ўжо на аснове адказу Mohunnad ст. Поспехаў!
дададзена аўтар Ryan, крыніца
Ня, яна выклікаецца праз questions.php , які з'яўляецца файл, які атрымаўшы POST і GET званкі. Гэты файл рэха гэта адказ. Я праверыў яго ў браўзэры, даючы жорстка закадаваныя значэння. Яна вяртае інфармацыю, якую я хачу. Акрамя таго, першы AsyncTask вяртае значэння, якія я хачу. Так гэта працуе адзін раз, ён проста не працуе, калі гэта разбіраюся ў LoadAllQuestions
дададзена аўтар i_me_mine, крыніца
@Muhannad questionsList.add (карта);
дададзена аўтар i_me_mine, крыніца

6 адказы

Другі AsyncTask ня дадае параметр ў запыце, г.зн. кампаніі, праекта і component.In Акрамя таго Вы не правяраючы існаванне Params ў запыце і, як згадвалася ў @koesie адказ вы павінны змяніць тып запыту на POST замест GET.

Паколькі Вы адпраўляеце запыт GET так PARAMS павінны быць даступныя ў $ _GET, але праверкі кода PHP для $ _POST дадзеных.

Спадзяюся, гэта дапаможа

<�Моцны> UPDATE You must initialize questionList

questionList = ArrayList>();

<�Моцны> UPDATE

ListAdapter adapter = new SimpleAdapter(getActivity(),
                        questionsList,
                        R.layout.genA_layout,
                        new String[] { TAG_FIELD, TAG_NAME },
                        new int[] { R.id.answer, R.id.name });
               //updating listview
                setListAdapter(adapter);
1
дададзена
@i_me_mine Калі ласка, выкарыстоўвайце раскладку замест ідэнтыфікатара ў пры стварэнні простага адаптара см майго абнаўлення
дададзена аўтар Muhannad A.Alhariri, крыніца
ммм !! але як маёй інфармацыі, параметр павінен быць макет рэсурсу не ідэнтыфікатар рэсурсу
дададзена аўтар Muhannad A.Alhariri, крыніца
@i_me_mine дайце мне ведаць, калі гэта працуе !! :)
дададзена аўтар Muhannad A.Alhariri, крыніца
Я зноў рэдагаваў пост, новы LogCat пасля инстанцирования правільна. Цяпер ён выглядае як мой SimpleListAdapter
дададзена аўтар i_me_mine, крыніца
На самой справе тое, што я хацеў бы, каб раздуць гэта ListView . З ідэнтыфікатарам андроіда: ID = "@ АНДРОІД: ідэнтыфікатар/спіс"
дададзена аўтар i_me_mine, крыніца

Другі AsyncTask ня дадае параметр ў запыце, г.зн. кампаніі, праекта і component.In Акрамя таго Вы не правяраючы існаванне Params ў запыце і, як згадвалася ў @koesie адказ вы павінны змяніць тып запыту на POST замест GET.

Паколькі Вы адпраўляеце запыт GET так PARAMS павінны быць даступныя ў $ _GET, але праверкі кода PHP для $ _POST дадзеных.

Спадзяюся, гэта дапаможа

<�Моцны> UPDATE You must initialize questionList

questionList = ArrayList>();

<�Моцны> UPDATE

ListAdapter adapter = new SimpleAdapter(getActivity(),
                        questionsList,
                        R.layout.genA_layout,
                        new String[] { TAG_FIELD, TAG_NAME },
                        new int[] { R.id.answer, R.id.name });
               //updating listview
                setListAdapter(adapter);
1
дададзена
@i_me_mine Калі ласка, выкарыстоўвайце раскладку замест ідэнтыфікатара ў пры стварэнні простага адаптара см майго абнаўлення
дададзена аўтар Muhannad A.Alhariri, крыніца
@i_me_mine дайце мне ведаць, калі гэта працуе !! :)
дададзена аўтар Muhannad A.Alhariri, крыніца
ммм !! але як маёй інфармацыі, параметр павінен быць макет рэсурсу не ідэнтыфікатар рэсурсу
дададзена аўтар Muhannad A.Alhariri, крыніца
Я зноў рэдагаваў пост, новы LogCat пасля инстанцирования правільна. Цяпер ён выглядае як мой SimpleListAdapter
дададзена аўтар i_me_mine, крыніца
На самой справе тое, што я хацеў бы, каб раздуць гэта ListView . З ідэнтыфікатарам андроіда: ID = "@ АНДРОІД: ідэнтыфікатар/спіс"
дададзена аўтар i_me_mine, крыніца

змена

jParser.makeHttpRequest(url, "GET",
            params);

у

jParser.makeHttpRequest(url, "POST",
            params);

then BEFORE that line, after your ArrayList initialization, add these values уthe array, I'm assuming their the same desired values SearchPost uses..

        String companyName = cn.getText().уString();
        String projectName = pn.getText().уString();
        String componentName = (String) ab.getSelectedTab().getText();

        List params = new ArrayList();
        params.add(new BasicNameValuePair("company", companyName));
        params.add(new BasicNameValuePair("project", projectName));
        params.add(new BasicNameValuePair("component", componentName));

EDIT: Initialize the questionList afterwards.

 questionList = ArrayList>();

<�Моцны> EDIT 2:

змена

R.id.genA_layout

у

R.layout.genA_layout

<�Моцны> UPDATE

Вы павінны зрабіць асобны макет xml файл <�моцны> вызначае, як кожны від спісу радкоў павінен выглядаць як дзве TextViews з ідэнтыфікатарамі R.id.answer, R.id.name.

Просты макет можа выглядаць наступным чынам: (калі ласка, тэст, я закадаваны гэта прама з скрынкі адказу).

<�Моцны> MyListViewRow.xml

 <!-- You can make orientation horizontal also -->

    

   

Afterwards, зменаR.id.genA_layout уR.layout.MyListViewRow

1
дададзена
@i_me_mine Глядзі рэдагаваць 2, Акрамя таго, гэтыя нядаўна выяўленыя памылкі адхіліцца ад першапачатковага пытання, як было вырашана .. Я прапаную вам заняць некаторы час, з якімі-небудзь нанава выяўленых памылак і пачаць новае пытанне, калі вы затрымаліся зноў.
дададзена аўтар Ryan, крыніца
@i_me_mine Глядзі рэдагавання.
дададзена аўтар Ryan, крыніца
дададзена аўтар Ryan, крыніца
@i_me_mine Добра, глядзіце абнаўленне.
дададзена аўтар Ryan, крыніца
бачыць маё рэдагаванне, новую памылку
дададзена аўтар i_me_mine, крыніца
На самой справе тое, што я хацеў бы, каб раздуць гэта ListView . З ідэнтыфікатарам андроіда: ID = "@ АНДРОІД: ідэнтыфікатар/спіс"
дададзена аўтар i_me_mine, крыніца

змена

jParser.makeHttpRequest(url, "GET",
            params);

у

jParser.makeHttpRequest(url, "POST",
            params);

then BEFORE that line, after your ArrayList initialization, add these values уthe array, I'm assuming their the same desired values SearchPost uses..

        String companyName = cn.getText().уString();
        String projectName = pn.getText().уString();
        String componentName = (String) ab.getSelectedTab().getText();

        List params = new ArrayList();
        params.add(new BasicNameValuePair("company", companyName));
        params.add(new BasicNameValuePair("project", projectName));
        params.add(new BasicNameValuePair("component", componentName));

EDIT: Initialize the questionList afterwards.

 questionList = ArrayList>();

<�Моцны> EDIT 2:

змена

R.id.genA_layout

у

R.layout.genA_layout

<�Моцны> UPDATE

Вы павінны зрабіць асобны макет xml файл <�моцны> вызначае, як кожны від спісу радкоў павінен выглядаць як дзве TextViews з ідэнтыфікатарамі R.id.answer, R.id.name.

Просты макет можа выглядаць наступным чынам: (калі ласка, тэст, я закадаваны гэта прама з скрынкі адказу).

<�Моцны> MyListViewRow.xml

 <!-- You can make orientation horizontal also -->

    

   

Afterwards, зменаR.id.genA_layout уR.layout.MyListViewRow

1
дададзена
@i_me_mine Глядзі рэдагавання.
дададзена аўтар Ryan, крыніца
@i_me_mine Глядзі рэдагаваць 2, Акрамя таго, гэтыя нядаўна выяўленыя памылкі адхіліцца ад першапачатковага пытання, як было вырашана .. Я прапаную вам заняць некаторы час, з якімі-небудзь нанава выяўленых памылак і пачаць новае пытанне, калі вы затрымаліся зноў.
дададзена аўтар Ryan, крыніца
@i_me_mine Добра, глядзіце абнаўленне.
дададзена аўтар Ryan, крыніца
дададзена аўтар Ryan, крыніца
На самой справе тое, што я хацеў бы, каб раздуць гэта ListView . З ідэнтыфікатарам андроіда: ID = "@ АНДРОІД: ідэнтыфікатар/спіс"
дададзена аўтар i_me_mine, крыніца
бачыць маё рэдагаванне, новую памылку
дададзена аўтар i_me_mine, крыніца

Вы можаце выкарыстоўваць запыт GET ў вашым Android прыкладання, але вы спрабуеце атрымаць дадзеныя POST ў вашым PHP кодзе. Я думаю, вы павінны змяніць гэта:

jParser.makeHttpRequest(url, "GET",
            params);

Для гэтага:

jParser.makeHttpRequest(url, "POST",
            params);
1
дададзена
Вы можаце стварыць новы пар імя , але не дадаюць значэння да яго. Вы павінны дадаць тыя ж значэння, што і ў поискОбъявление , таму што цяпер ён не падае ніякіх значэнняў POST. Звярніце ўвагу, што вы ўсё роўна павінны змяніць GET на POST.
дададзена аўтар koesie10, крыніца
Я паспрабаваў гэта рашэнне, яна па-ранейшаму дае мне тую ж памылку. Як я ўжо сказаў, я думаю, што POST у поискОбъявлении , які дае mysql_queries яго значэнне больш не сапраўдныя да таго часу гэта разбіраюся ў LoadAllQuestions
дададзена аўтар i_me_mine, крыніца
Адрэдагаваны свой пост, каб адлюстраваць змены, памылка змянілася
дададзена аўтар i_me_mine, крыніца

Вы можаце выкарыстоўваць запыт GET ў вашым Android прыкладання, але вы спрабуеце атрымаць дадзеныя POST ў вашым PHP кодзе. Я думаю, вы павінны змяніць гэта:

jParser.makeHttpRequest(url, "GET",
            params);

Для гэтага:

jParser.makeHttpRequest(url, "POST",
            params);
1
дададзена
Вы можаце стварыць новы пар імя , але не дадаюць значэння да яго. Вы павінны дадаць тыя ж значэння, што і ў поискОбъявление , таму што цяпер ён не падае ніякіх значэнняў POST. Звярніце ўвагу, што вы ўсё роўна павінны змяніць GET на POST.
дададзена аўтар koesie10, крыніца
Я паспрабаваў гэта рашэнне, яна па-ранейшаму дае мне тую ж памылку. Як я ўжо сказаў, я думаю, што POST у поискОбъявлении , які дае mysql_queries яго значэнне больш не сапраўдныя да таго часу гэта разбіраюся ў LoadAllQuestions
дададзена аўтар i_me_mine, крыніца
Адрэдагаваны свой пост, каб адлюстраваць змены, памылка змянілася
дададзена аўтар i_me_mine, крыніца