package kr.co.Applist;

import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class Applist extends Activity {

    /** Called when the activity is first created. */
 
 int bb;
 int bbb;
 String label[] = new String[500];
 String cc = "알람";
 String dd;
 
    @Override
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
        mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        final List<ResolveInfo> pkgAppsList = getPackageManager().queryIntentActivities( mainIntent, 0);
        MyAdapter adapter = new MyAdapter(this, R.layout.listitem, pkgAppsList);
        ListView lv = (ListView) findViewById(R.id.launcherList);
        lv.setAdapter(adapter);
        PackageManager pm = getPackageManager();
        
        int len = pkgAppsList.size();
        for (int i = 0; i<len; i++){
         ResolveInfo in = pkgAppsList.get(i);
         CharSequence labelSeq = in.loadLabel(pm);
         //label = labelSeq != null ? labelSeq.toString() : in.activityInfo.name;
         label[i] = labelSeq.toString();
         dd = label[i];
         if(cc == dd){
          Toast.makeText(this, dd, Toast.LENGTH_SHORT).show(); 

           bb = i;
         }
         
        }
       
        lv.setOnItemClickListener(new OnItemClickListener() {
     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
       ResolveInfo temp = pkgAppsList.get(position);
       Intent i = new Intent();
       i.setClassName(temp.activityInfo.packageName, temp.activityInfo.name);
       startActivity(i);
     }
  
        });
       
 }
    public class MyAdapter extends ArrayAdapter<ResolveInfo> {
     List<ResolveInfo> child;
  public MyAdapter(Context context, int textViewResourceId, List<ResolveInfo> objects) {
   super(context, textViewResourceId, objects);
   
   child = objects;
  }
    @Override
  public int getCount() {
     // TODO Auto-generated method stub
    
     return child.size();
    }
      @Override
  public ResolveInfo getItem(int position) {
     // TODO Auto-generated method stub
     return child.get(position);
  }
  @Override

   public View getView(int position, View convertView, ViewGroup parent) {
    if(convertView == null) {
     LayoutInflater li = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
     convertView = li.inflate(R.layout.listitem, null);
    }
 
    ImageView icon = (ImageView) convertView.findViewById(R.id.ivIcon);
    TextView name = (TextView) convertView.findViewById(R.id.tvName);
   
    ResolveInfo temp = child.get(bb);
    icon.setImageDrawable(temp.loadIcon(getPackageManager()));
    name.setText(temp.loadLabel(getPackageManager()));
   
   
   
    return convertView;
   }
    }
}


위에 코드 보시면 cc라는 String값을 dd = label[i]; 이부분의 dd값과 비교하여 토스트를 띄우고 싶습니다.

 

상식적으로는 되는게 맞다고 생각하는데.. 돌려보니 계속 저 조건문을 무시하는것같습니다.ㅠㅠ

 

도와주세요!!ㅠㅠ

 

제가 최종적으로 원하는 건 cc값과 같은 설치된 어플리스트중 label과 비교하여 한가지만 뽑아내는게 목적입니다..ㅠㅠ

 

고수님들 도와주세요!!ㅠㅠ