安卓列表查看适配器光标


  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.artistname);
    Bundle extras = getIntent().getExtras(); 
    String val = extras.getString("artistname");
    //Toast.makeText(getApplicationContext(), val, Toast.LENGTH_LONG).show();

    String result = null;
    InputStream is = null;
    StringBuilder sb = null;
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    try{
    //http post
    HttpClient httpclient = new DefaultHttpClient();
    //HttpPost httppost = new HttpPost("http://192.168.0.5/staging/android/get_search_result.php?keyword=Chinna_Mani&format=json");

HttpPost httppost = new HttpPost("http://192.168.0.5/staging/android/get_search_result.php?keyword="+val+"&format=json&flg=1");

    //HttpPost httppost = new HttpPost("http://192.168.0.5/staging/android/ilaiyarajawebservice.php?format=xml");
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
    is = entity.getContent();
    }
    catch(Exception e){
        Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
   }
    //Convert response to string  
    try
    {
      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
      sb = new StringBuilder();
      String line = null;
      while ((line = reader.readLine()) != null) 
      {
         sb.append(line + "n");
      }
      is.close();
      result = sb.toString();
    }
    catch(Exception e)
    {
        Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
    }
    //END Convert response to string   
    try{
            JSONArray jArray = new JSONArray(result);
            JSONObject json_data=null;
            for(int i=0;i<jArray.length();i++)
            {
               json_data = jArray.getJSONObject(i);

               r.add(json_data.getString("artistfirstname"));

              // r.add(json_data.getString("file_name")+json_data.getString("artist_name") +json_data.getString("album_name"));
            }                                              
        }                            

    catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
            finally {      

        Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);

         if(null != cursor)
        {
                 cursor.moveToFirst();
                setListAdapter(new ArrayAdapter<String>(this,R.layout.custom_list_item, r));
             }
             else{
/

/我想要这样,我在这里开发警报消息 找不到播放列表

                 System.out.println("playlist not  found");
        }
        }
            }

我需要帮助,如果值r有内容然后显示,如果没有内容,那么我想设置警报"找不到列表"如何实现? 我尝试使用其他但不成功。

if(null != cursor && cursor.getCount()>0 )//check cursor is not null and having atleast 1 data
 {
    cursor.moveToFirst();
    setListAdapter(new ArrayAdapter<String>(this,R.layout.custom_list_item, r));        
    //do your operation with content
 }
else
  //show alert here i.e. no list found

你只需要检查游标,如果游标至少有一个数据,那么尝试移动到第一条记录,因为如果有第一条记录,cursor.moveToFirst()返回boolean值,否则 True 否则 False,您可以直接使用它来检查游标是否已获取数据,如下所示。

if(cursor.moveToFirst())
{
   //Populate Contents
}
else
{
  //No Contents Found
}
if(null != cursor)
{
    //other work......
    if (cursor.getCount () > 0 )
    {        
         //show alert 
    } 
    else
    {
        cursor.moveToFirst();
        setListAdapter(new ArrayAdapter<String>(this,R.layout.custom_list_item, r));
    }
if(r.size()>0){    
 Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
     if(null != cursor)
     {
        cursor.moveToFirst();
    setListAdapter(new ArrayAdapter<String>(this,R.layout.custom_list_item, r));        
//here I need help the value are having content means display, if not have content means I want set alert no list found how? I will try else but not success.

   }
}else{
您可以通过创建对话框

来显示警报她,并告诉用户列表为空,用于创建对话框,您可以参考最佳链接。

   }

刚刚添加了检查 arraylist 是否包含元素,如果没有,那么您可以通过 Toast 或对话框显示警报,因为我提供了它的链接。--------------------------这是你的问题解决方案-------------------------------------------

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.artistname);
    Bundle extras = getIntent().getExtras(); 
    String val = extras.getString("artistname");
    //Toast.makeText(getApplicationContext(), val, Toast.LENGTH_LONG).show();

    String result = null;
    InputStream is = null;
    StringBuilder sb = null;
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    try{
    //http post
    HttpClient httpclient = new DefaultHttpClient();
    //HttpPost httppost = new HttpPost("http://192.168.0.5/staging/android/get_search_result.php?keyword=Chinna_Mani&format=json");
HttpPost httppost = new HttpPost("http://192.168.0.5/staging/android/get_search_result.php?keyword="+val+"&format=json&flg=1");
    //HttpPost httppost = new HttpPost("http://192.168.0.5/staging/android/ilaiyarajawebservice.php?format=xml");
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
    is = entity.getContent();
    }
    catch(Exception e){
        Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
   }
    //Convert response to string  
    try
    {
      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
      sb = new StringBuilder();
      String line = null;
      while ((line = reader.readLine()) != null) 
      {
         sb.append(line + "n");
      }
      is.close();
      result = sb.toString();
    }
    catch(Exception e)
    {
        Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
    }
    //END Convert response to string   
    try{
            JSONArray jArray = new JSONArray(result);
            JSONObject json_data=null;
            for(int i=0;i<jArray.length();i++)
            {
               json_data = jArray.getJSONObject(i);

               r.add(json_data.getString("artistfirstname"));

              // r.add(json_data.getString("file_name")+json_data.getString("artist_name") +json_data.getString("album_name"));
            }                                              
        }                            

    catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
            finally {      
if(r.size()>0){
        Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);

         if(null != cursor)
        {
                 cursor.moveToFirst();
                setListAdapter(new ArrayAdapter<String>(this,R.layout.custom_list_item, r));
             }
}else{
Toast.makeToast(getApplicationcontext(),"no Records ...", Toast.SHORT).show();
        }
        }
            }

希望这个解释对你有用..赞赏

最新更新