我在这里尝试做的是使用用户单击按钮ArrayList<String>以及ArrayAdapter<String>当用户单击按钮时显示字符串列表。我想将所有成员(即适配器、ArrayList和列表布局)声明为全局,因为我想稍后添加更多具有显示字符串列表的相同功能的按钮。此代码没有错误,但无法正常工作。我把Toast在onClick以确保onClick工作正常。我可以看到吐司,但listView看不到我想看到的。类文件R.id.button_news是按钮 ID。R.layout.activity_primary_content是我在这门课中使用的布局PrimaryContentR.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"); }
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
您忘记将膨胀的布局添加到父布局中,例如:
LinearLayout parentLayout = (LinearLayout) findViewById(R.id.parent_layout);
parentLayout.addView(rootView);
添加回答
举报
0/150
提交
取消