onClickListner 中的 ArrayAdapter 不起作用

我在这里尝试做的是使用用户单击按钮ArrayList<String>以及ArrayAdapter<String>当用户单击按钮时显示字符串列表。我想将所有成员(即适配器、ArrayList和列表布局)声明为全局,因为我想稍后添加更多具有显示字符串列表的相同功能的按钮。


此代码没有错误,但无法正常工作。我把Toast在onClick以确保onClick工作正常。我可以看到吐司,但listView看不到我想看到的。


类文件


R.id.button_news是按钮 ID。R.layout.activity_primary_content是我在这门课中使用的布局PrimaryContent


R.layout.list_view_secondary是 listView 所在的布局R.id.list_view。


R.layout.list_view_secondary布局和PrimaryContent类是不相关的,但我想用listView这是在list_view_secondary布局,从显示PrimaryContent。


在这行代码中


arrayAdapter = new ArrayAdapter<>(view.getContext(),android.R.layout.simple_list_item_1,list);我尝试放置上下文view.getContext(),getBaseContext()但它们都不起作用。


import android.content.Context;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.ListView;

import android.widget.Toast;


import java.util.ArrayList;


public class PrimaryContent extends AppCompatActivity {


    private final String LOG_TAG = PrimaryContent.class.getSimpleName();


    public ListView listView;

    public ArrayList<String> arrayList;

    public ArrayAdapter<String> arrayAdapter;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_primary_content);


        final LayoutInflater factory = getLayoutInflater();

        final View rootView = factory.inflate(R.layout.list_view_secondary, null);

        listView = rootView.findViewById(R.id.list_view);


        arrayList = new ArrayList<>();

        for (int i=0; i<20; i++) {

            arrayList.add("World News");

        }

  

小唯快跑啊
浏览 114回答 1
1回答

神不在的星期二

您忘记将膨胀的布局添加到父布局中,例如:LinearLayout parentLayout = (LinearLayout) findViewById(R.id.parent_layout);parentLayout.addView(rootView);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java