2013-07-20 78 views
0

我有這個問題,我不能訪問另一個佈局或活動形式列表視圖,即時嘗試調用意圖,但我總是得到「確認透視切換」,未找到源。Android ListView項目打開活動

這裏是代碼

import java.util.ArrayList; 
import java.util.List; 

import android.app.Activity; 
import android.content.DialogInterface.OnClickListener; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 



public class HomeTab extends Activity { 

private List<home_items> myItems= new ArrayList<home_items>(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.home_activity); 





    populateHomeIteams(); 
    populateListView(); 
    registerClickCallback(); 


} 



private void registerClickCallback() { 
    ListView list=(ListView)findViewById(R.id.listView1); 
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View viewClicked, int position, 
       long id) { 

      //Toast.makeText(HomeTab.this, "positiom is"+position, Toast.LENGTH_LONG).show(); 

      if(position==0) 
      { 
       Intent intt=new Intent(HomeTab.this, Beauty_Tab.class); 
       startActivity(intt); 
      } 

     } 


    }); 

} 



private void populateHomeIteams() { 
    myItems.add(new home_items("Beauty", R.drawable.bg_list_view)); 
    myItems.add(new home_items("Healthy food", R.drawable.bg_list_view)); 
    myItems.add(new home_items("Family Health", R.drawable.bg_list_view)); 
    myItems.add(new home_items("Moda", R.drawable.bg_list_view)); 

} 
private void populateListView() { 
    ArrayAdapter<home_items> adapter= new MyListAdapter(); 
    ListView list= (ListView) findViewById(R.id.listView1); 
    list.setAdapter(adapter); 

} 

private class MyListAdapter extends ArrayAdapter<home_items> { 

    public MyListAdapter(){ 
     super(HomeTab.this,R.layout.iteam_view,myItems); 

    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     View itemView = convertView; 
     if(itemView == null){ 
      itemView=getLayoutInflater().inflate(R.layout.iteam_view,parent ,false); 

     } 


     home_items currentitem=myItems.get(position); 


     ImageView imageview=(ImageView)itemView.findViewById(R.id.iteam_icon); 
     imageview.setImageResource(currentitem.get_iconID()); 

     TextView maketxt=(TextView)itemView.findViewById(R.id.iteam_txt); 
     maketxt.setText(currentitem.get_iteam_name()); 




     return itemView; 

    } 

} 
} 

的問題是在功能registerclickCallnack() 敬酒工作的意願,但意圖不工作

private void registerClickCallback() { 
    ListView list=(ListView)findViewById(R.id.listView1); 
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View viewClicked, int position, 
       long id) { 

      //Toast.makeText(HomeTab.this, "positiom is"+position, Toast.LENGTH_LONG).show(); 

      if(position==0) 
      { 
       Intent intt=new Intent(HomeTab.this, Beauty_Tab.class); 
       startActivity(intt); 
      } 

     } 


    }); 

} 

回答

0

至於我記得在onItemClick()方法position從1開始

0

你的問題是你實例化2個listView對象,一個在populateListV iew和另一個在registerClickCallback;你實例化一個listView,但在另一個上添加點擊回調,確保你全部使用一個listView對象。