마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

listview여러개 어떻게 하나요?

0 추천

메인에 버튼 4개 놓고 첫번째 버튼 클릭했을때는 리스트뷰가 나오거든요

첫번째 버튼의 리스트뷰 코드 따라서

두번째 버튼 눌렀을 때도 리스트뷰 나오게 할려고 했는데 오류나서요 ㅠㅠ

<첫번째 버튼의 리스트뷰 코드 >

public class information_1 extends AppCompatActivity {

    ListView mListView;

    int[] images = {R.drawable.information_list1,
            R.drawable.information_list1,
            R.drawable.information_list1,
            R.drawable.information_list1,
            R.drawable.information_list1,
            R.drawable.information_list1};


    String[] Names = {"생리통 완화 자세 BEST4",
            "생리통 완화 마사지법",
            "생리통 완화 지압법",
            "생리통증에 좋은 생활 습관",
            "생리기간 다이어트 공략법",
            "부정출혈 증상 원인"};


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_information_1);

        //액션바 뒤로가기
        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setTitle("생리");
        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xFFE3D1D1));
        actionBar.setElevation(0);

        mListView = (ListView) findViewById(listView);
        mListView.setOnItemClickListener(mListViewItemClickListener);

        CustomAdapter customAdapter = new CustomAdapter();
        mListView.setAdapter(customAdapter);

    }
    AdapterView.OnItemClickListener mListViewItemClickListener = new AdapterView.OnItemClickListener(){
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){
            switch (position){
                case 0:
                    Intent intent = new Intent(information_1.this, information_1_sub1.class);
                    startActivity(intent);
                    break;
                case 1:
                    Intent intent2 = new Intent(information_1.this, information_1_sub2.class);
                    startActivity(intent2);
                    break;
                case 2:
                    Intent intent3 = new Intent(information_1.this, information_1_sub3.class);
                    startActivity(intent3);
                    break;
                case 3:
                    Intent intent4 = new Intent(information_1.this, information_1_sub4.class);
                    startActivity(intent4);
                    break;
                case 4:
                    Intent intent5 = new Intent(information_1.this, information_1_sub5.class);
                    startActivity(intent5);
                    break;
                case 5:
                    Intent intent6 = new Intent(information_1.this, information_1_sub6.class);
                    startActivity(intent6);
                    break;
                default:
            }
        }

    };
    class CustomAdapter extends BaseAdapter{
        @Override
        public int getCount(){
            return images.length;
        }
        @Override
        public Object getItem(int position) {
            return null;
        }
        @Override
        public long getItemId(int position){
            return 0;
        }
        @Override
        public View getView(int position, View converView, ViewGroup parent) {
            View view = getLayoutInflater().inflate(R.layout.information_list1,null);

            ImageView mImageView = (ImageView) view.findViewById(R.id.imageView);
            TextView mTextView = (TextView) view.findViewById(R.id.textView);

            mImageView.setImageResource(images[position]);
            mTextView.setText(Names[position]);
            return view;
        }

    }
}

<두번째 버튼의 리스트뷰 코드>

public class information_2 extends AppCompatActivity {
    ListView ListView2;

    int[] images2 = {
            R.drawable.information_list2,
            R.drawable.information_list2,
            R.drawable.information_list2,
            R.drawable.information_list2,
            R.drawable.information_list2,
            R.drawable.information_list2
    };
    String[] Names2 = {
            "생리불순에 좋은 음식",
            "생리 중 단 음식이 당기는 이유",
            "생리에 좋은 음식 4가지",
            "생리통에 좋은 음식",
            "자궁에 좋은 과일"
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_information_2);

        //액션바 뒤로가기
        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setTitle("음식");
        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xFFE3D1D1));
        actionBar.setElevation(0);

        ListView2 = (ListView) findViewById(listView);
        ListView2.setOnItemClickListener(ListView2ItemClickListener);

        CustomAdapter customAdapter = new CustomAdapter();
        ListView2.setAdapter(customAdapter);

    }
    AdapterView.OnItemClickListener ListView2ItemClickListener = new AdapterView.OnItemClickListener(){
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){
            switch (position){
                case 0:
                    Intent intent = new Intent(information_2.this, information_2_sub1.class);
                    startActivity(intent);
                    break;
                case 1:
                    Intent intent2 = new Intent(information_2.this, information_2_sub2.class);
                    startActivity(intent2);
                    break;
                case 2:
                    Intent intent3 = new Intent(information_2.this, information_2_sub3.class);
                    startActivity(intent3);
                    break;
                case 3:
                    Intent intent4 = new Intent(information_2.this, information_2_sub4.class);
                    startActivity(intent4);
                    break;
                case 4:
                    Intent intent5 = new Intent(information_2.this, information_2_sub5.class);
                    startActivity(intent5);
                    break;
                default:
            }
        }

    };
    class CustomAdapter extends BaseAdapter {
        @Override
        public int getCount(){
            return images2.length;
        }
        @Override
        public Object getItem(int position) {
            return null;
        }
        @Override
        public long getItemId(int position){
            return 0;
        }
        @Override
        public View getView(int position, View converView, ViewGroup parent) {
            View view = getLayoutInflater().inflate(R.layout.information_list2,null);

            ImageView ImageView2 = (ImageView) view.findViewById(R.id.imageView2);
            TextView TextView2 = (TextView) view.findViewById(R.id.textView2);

            ImageView2.setImageResource(images2[position]);
            TextView2.setText(Names2[position]);
            return view;
        }

    }
}

 

jisoo (120 포인트) 님이 2017년 10월 31일 질문
어떤 오류가 발생하는지 로그를 올려주셔야 더 빠르고 정확한 답변을 얻으실수 있습니다.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...