2015-01-14 17 views
-1

我試着做customList帶圖標我用自定義視圖使圖標+文字 現在林試圖讓列表中的項應對OnItemClickListener 其不響應並且無法顯示我的吐司與位置的項目如何讓我的OnItemClickListener工作並顯示與項目位置的烤麪包?

請幫忙。

////////////////////////////////////THIS IS My Main Activity/////////////////// 
    package com.example.mycash; 

    import android.app.ActionBar; 
    import android.app.Activity; 
    import android.content.Context; 
    import android.database.DataSetObserver; 
    import android.os.Bundle; 
    import android.support.v4.widget.DrawerLayout; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.AdapterView; 
    import android.widget.AdapterView.OnItemClickListener; 
    import android.widget.ArrayAdapter; 
    import android.widget.ListAdapter; 
    import android.widget.ListView; 
    import android.widget.Toast; 


    public class MainActivity extends Activity implements OnItemClickListener { 
       DrawerLayout drawerLayout; 
       ListView listView; 
       AdapterList adapterList; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
     //Hide Action Bar-------------------------------------- 
      View decorView = getWindow().getDecorView(); 
      int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; 
      decorView.setSystemUiVisibility(uiOptions); 
      ActionBar actionBar = getActionBar(); 
      actionBar.hide(); 
     //Hide Action Bar--------------------------------------- 
      listView = (ListView)findViewById(R.id.listMenu); 
      final AdapterList adapterList = new AdapterList(this); 
      listView.setAdapter(adapterList); 


      drawerLayout = (DrawerLayout)findViewById(R.id.drawerLayout); 


     }//OnCreate Closing... 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long l) { 
      Toast.makeText(getBaseContext(), adapterList.menu[position] + "Test" , Toast.LENGTH_SHORT).show(); 

     } 
    } 



////////////////This IS My AdapterList Class here Im Creating Custom adapter/////////////////// 
package com.example.mycash; 

import android.content.Context; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.BaseAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.widget.Toast; 

public class AdapterList extends BaseAdapter { 

    private Context context; 

    String[] menu = {"How Much Did I Work" 
      ,"Add/Edit Work Space" 
      ,"My Profile" 
      ,"Send Work Doc Via Mail" 
      ,"Send FeedBack" 
      ,"Bug Report"}; 
    int[] icons = {R.drawable.clock,R.drawable.edit,R.drawable.profile,R.drawable.mail,R.drawable.sendfeed,R.drawable.bug}; 

    public AdapterList(Context context){ 
     this.context = context; 

    } 

    @Override 
    public int getCount() { 

     return menu.length; 
    } 

    @Override 
    public Object getItem(int position) { 

     return menu[position]; 
    } 

    @Override 
    public long getItemId(int position) { 
     // Not In Use For Future Uses... 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View row = null; 
     if(convertView == null){ 

      LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      row = inflater.inflate(R.layout.custom_row_layout, null); 

     }else{ 
      row = null; 
     } 
     TextView customTextView = (TextView)row.findViewById(R.id.customText1); 
     ImageView customImageView = (ImageView)row.findViewById(R.id.customImage1); 

     customTextView.setText(menu[position]); 
     customImageView.setImageResource(icons[position]); 

     return row; 
    } 


} 

回答

1

必須監聽設置onItemClick到列表視圖:

listView.setOnItemClickListener(this); 
0

您沒有設置事件偵聽器(OnItemClickListner)ListView控件的是,做到這一點,它應該工作。

相關問題