0

アイテムの上に文字が表示されているアルファベット順のリストを作成しています-画像を参照してください: スクリーンショット

これはすでに完了しており、正常に動作していますが、文字以外の各項目をクリックできるようにする必要があります。

これは MainActivity.java (フラグメント) からの私のコードの一部です:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.activity_bohovia, container, false);

        List<LetterSectionListItem> books = createBooks();

        ListView bookListView = (ListView) rootView.findViewById(R.id.booklistview);

                LetterSectionListAdapter bookListAdapter = new LetterSectionListAdapter(getContext(), R.layout.booklist_row, books) {
            @NonNull
            @Override
            public View getView(int position, View v, ViewGroup parent) {
                //Must call this before to wrap the header around the view
                v = super.getView(position, v, parent);

                TextView bookTitle = (TextView) v.findViewById(R.id.book_title);
                TextView authorName = (TextView) v.findViewById(R.id.author_name);

                Book book = (Book) this.getItem(position);

                assert book != null;
                bookTitle.setText(book.getBookName());
                authorName.setText(book.getAuthorLastName() + ", " + book.getAuthorFirstName());

                return v;
            }
        };

        bookListView.setAdapter(bookListAdapter);

        return rootView;
    }

今私が試したこと:

すぐ上にこのコードを入れましたreturn rootView;

v.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        Intent intent=new Intent(v.getContext(),SingleitemView.class);
                        intent.putExtra("place2", "test");
                        getContext().startActivity(intent);

                    }
                });

ただし、これは正常に機能しているため、アイテムをクリックした後に別のアクティビティが開きますが、スタンドアロンの文字をクリックすると、クリック可能な文字 A、B、C などは必要ありません。下のアイテムだけです。

誰かがここでアドバイスしてもらえますか、私は何が間違っていますか?

4

2 に答える 2