无法解析符号simple_list_item_1

时间:2015-09-22 08:03:38

标签: android android-studio

我尝试在simple_list_item_1中使用资源文件ArrayAdapter,但显示错误

  

无法解析符号simple_list_item_1

然后我搜索并发现我需要使用android.R.layout.simple_list_item_1,但它再次显示错误

  

无法解析构造函数' ArrayAdapter(android.support.v4.app.FragmentActivity,int,java.lang.String)'

这是我的代码

@Override
protected void onPostExecute(String lessonResponse) {
    Log.d("my_test", lessonResponse);

    try {
        JSONObject lessonObject = new JSONObject(lessonResponse);

        JSONArray lessonArray = lessonObject.getJSONArray("data");

        for (int i = 0; i < lessonArray.length(); i++) {

            JSONObject dataLessons = lessonArray.getJSONObject(i);

            String jsonTitle = dataLessons.getString("lesson_title");

            ArrayAdapter<String> adapterTitle = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, jsonTitle);
            lessonList.setAdapter(adapterTitle);
            Log.d("Lesson Title", " " + jsonTitle);
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }

}

导入

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

截图链接

http://prntscr.com/8j444e

http://prntscr.com/8j44dv

请帮忙......谢谢..

2 个答案:

答案 0 :(得分:2)

问题在于你的第三个参数,在创建适配器时。

第三个参数应该是要显示的项目的try { $success=$db->query("DELETE FROM tableName WHERE ID=1"); } catch (Exception $e) { echo "You cannot delete this row"; } ArrayList,而不是您的情况下的Array[] jsonTitle )。< / p>

并且不要将适配器设置为for循环。填写您的ArrayList或Array,然后设置适配器。

答案 1 :(得分:2)

它无法解析构造函数,因为您可能想要使用此构造函数:

ArrayAdapter(Context context, int resource, List<T> objects)

所以你需要一个对象数组而不是一个简单的字符串。试试这个:

ArrayList<String> list = new ArrayList<String>();     
JSONArray jsonArray = (JSONArray) lessonArray.getJSONObject(i); 
if (jsonArray != null) { 
    int len = jsonArray.length();
    for (int i=0;i<len;i++){ 
      list.add(jsonArray.get(i).toString());
    } 
} 


ArrayAdapter<String> adapterTitle = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, list);
lessonList.setAdapter(adapterTitle);