单击ListView中的TextView以打开另一个布局页面

时间:2014-03-26 05:02:28

标签: android listview

我正在尝试在textview点击后启用listview,然后再打开另一个layout

  private class IndexListAdapter extends ArrayAdapter<Index>{
        public IndexListAdapter(){
            super(MainActivity.this, R.layout.listview_item, index);
        }


        @Override
        public View getView(int position, View view, ViewGroup parent){
            if (view == null)
                view = getLayoutInflater().inflate(R.layout.listview_item, parent, false);

            Index currentIndex = index.get(position);

            TextView name = (TextView) view.findViewById(R.id.pName);
            name.setText(currentIndex.getName());

            name.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    items.add(new Item(patientTxt.getText().toString(), operatorTxt.getText().toString(),
                            serialTxt.getText().toString(), deviceTxt.getText().toString(), dateTxt.getText().toString(),
                            assetTxt.getText().toString(), locationTxt.getText().toString(), qcTxt.getText().toString()));
                    populateList();
                    Intent intent = new Intent(MainActivity.this, Item.class);
                    startActivity(intent);
                    finish();
                }
            });

            return view;
        }
    }

我要做的是,我将在listview_item或列表标签上显示一个名称,当我点击该名称时,它会打开另一个layout或页面显示另一个项目列表。

2 个答案:

答案 0 :(得分:0)

你不能在你的自定义适配器中这样调用,所以你会尝试这样做它将起作用

 Intent intent = new Intent(MainActivity.this, Item.class);
                startActivity(intent);
                finish();

你会改变这个。 您只需发送上下文并使用该上下文调用意图

 Intent i = new Intent(mContext, TabActivityPacs.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            i.putExtra("STUDY", study);
            mContext.startActivity(i);

答案 1 :(得分:0)

如果您无法获得TextView

的点击事件

为您的TextView

添加此属性
android:focusableInTouchMode="false"

还要添加

android:descendantFocusability="blocksDescendants"