Android ListView项目打开活动
我有这个问题,我无法访问另一个布局或活动表单列表视图,我试图调用Intent,但我总是得到“确认透视开关”,找不到源 这是密码Android ListView项目打开活动,android,listview,android-listview,Android,Listview,Android Listview,我有这个问题,我无法访问另一个布局或活动表单列表视图,我试图调用Intent,但我总是得到“确认透视开关”,找不到源 这是密码 import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.os
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;
}
}
}
import java.util.ArrayList;
导入java.util.List;
导入android.app.Activity;
导入android.content.DialogInterface.OnClickListener;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ImageView;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
公共类HomeTab扩展活动{
private List myItems=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.home_活动);
populateHomeIteams();
populateListView();
registerClickCallback();
}
私有无效注册表ClickCallback(){
ListView列表=(ListView)findViewById(R.id.listView1);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共视图单击(AdapterView父视图、视图单击、整型位置、,
长id){
//Toast.makeText(HomeTab.this,“positiom is”+位置,Toast.LENGTH\u LONG.show();
如果(位置==0)
{
Intent intt=新的Intent(HomeTab.this,Beauty_Tab.class);
起始触觉(intt);
}
}
});
}
私有void populateHomeIteams(){
添加(新的主页项目(“Beauty”,R.drawable.bg_列表视图));
添加(新的家庭项目(“健康食品”,R.drawable.bg_列表视图));
添加(新的家庭项目(“家庭健康”,R.drawable.bg_列表视图));
添加(新的主项目(“Moda”,R.drawable.bg_列表视图));
}
私有void populateListView(){
ArrayAdapter=新的MyListAdapter();
ListView列表=(ListView)findViewById(R.id.listView1);
list.setAdapter(适配器);
}
私有类MyListAdapter扩展了ArrayAdapter{
公共MyListAdapter(){
super(HomeTab.this,R.layout.iteam\u视图,myItems);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图项视图=转换视图;
如果(itemView==null){
itemView=GetLayoutFlater()。充气(R.layout.iteam\u视图,父视图,false);
}
home\u items currentitem=myItems.get(位置);
ImageView ImageView=(ImageView)itemView.findViewById(R.id.iteam_图标);
setImageResource(currentitem.get_iconID());
TextView maketxt=(TextView)itemView.findViewById(R.id.iteam_txt);
maketxt.setText(currentitem.get_iteam_name());
返回项目视图;
}
}
}
问题出在函数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);
}
}
});
}
private void registerClickCallback(){
ListView列表=(ListView)findViewById(R.id.listView1);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共视图单击(AdapterView父视图、视图单击、整型位置、,
长id){
//Toast.makeText(HomeTab.this,“positiom is”+位置,Toast.LENGTH\u LONG.show();
如果(位置==0)
{
Intent intt=新的Intent(HomeTab.this,Beauty_Tab.class);
起始触觉(intt);
}
}
});
}
据我所知,在onimclick()
方法位置
中,从1开始您的问题是实例化了两个listView对象,一个在populateListView中,另一个在registerClickCallback中;实例化一个listView,但在另一个listView上添加click回调,请确保全部使用一个listView对象