Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在滑动页面中使用ListView_Android_Eclipse_Listview_Swipe_Swipeview - Fatal编程技术网

Android 在滑动页面中使用ListView

Android 在滑动页面中使用ListView,android,eclipse,listview,swipe,swipeview,Android,Eclipse,Listview,Swipe,Swipeview,您好,我有一个包含3页的滑动页面示例,我想在此示例中添加一个列表视图。 但当我尝试运行eclipse时,我会说“您的内容必须有一个id属性为‘android.R.id.list’的ListView”。我不知道怎么了。 我的主要活动布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android

您好,我有一个包含3页的滑动页面示例,我想在此示例中添加一个列表视图。
但当我尝试运行eclipse时,我会说“您的内容必须有一个id属性为‘android.R.id.list’的ListView”。我不知道怎么了。
我的主要活动布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <android.support.v4.view.ViewPager
        android:id="@+id/customviewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />    

     </LinearLayout>    
主要活动

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Create and set adapter
    CustomPagerAdapter adapter = new CustomPagerAdapter();
    ViewPager myPager = (ViewPager) findViewById(R.id.customviewpager);
    myPager.setAdapter(adapter);
    myPager.setCurrentItem(1);

    String[] ex=new String[10];
    ex[0]="1";
    ex[1]="2";
    ex[2]="3";
    ex[3]="1";
    ex[4]="2";
    ex[5]="3";
    ex[6]="1";
    ex[7]="2";
    ex[8]="3";
    ex[9]="3";

    setContentView(R.layout.page_2);
    ListView myList=(ListView)findViewById(android.R.id.list);
    ListAdapter la=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ex);

    myList.setAdapter(la);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

/**
 * Click button on blue page
 */
public void onClickBlueButton(View v) {
    Toast.makeText(getApplicationContext(), "Blue screen", Toast.LENGTH_SHORT).show();
}

/**
 * Click button on yellow page
 */
public void onClickYellowButton(View v) {
    Toast.makeText(getApplicationContext(), "Yellow screen", Toast.LENGTH_SHORT).show();
}

/**
 * Click button on red page
 */
public void onClickRedButton(View v) {
    Toast.makeText(getApplicationContext(), "Red screen", Toast.LENGTH_SHORT).show();
}
}
公共类MainActivity扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建并设置适配器
CustomPagerAdapter适配器=新的CustomPagerAdapter();
ViewPager myPager=(ViewPager)findViewById(R.id.customviewpager);
设置适配器(适配器);
myPager.setCurrentItem(1);
字符串[]ex=新字符串[10];
ex[0]=“1”;
ex[1]=“2”;
ex[2]=“3”;
ex[3]=“1”;
ex[4]=“2”;
ex[5]=“3”;
ex[6]=“1”;
ex[7]=“2”;
ex[8]=“3”;
ex[9]=“3”;
setContentView(R.layout.page_2);
ListView myList=(ListView)findViewById(android.R.id.list);
ListAdapter la=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,ex);
myList.setAdapter(la);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.activity\u主菜单);
返回true;
}
/**
*单击蓝色页面上的按钮
*/
公共无效单击按钮(视图v){
Toast.makeText(getApplicationContext(),“蓝屏”,Toast.LENGTH\u SHORT.show();
}
/**
*点击黄页上的按钮
*/
公共void onClickYellowButton(视图v){
Toast.makeText(getApplicationContext(),“黄屏”,Toast.LENGTH\u SHORT.show();
}
/**
*单击红色页面上的按钮
*/
公共void onClickRedButton(视图v){
Toast.makeText(getApplicationContext(),“红屏”,Toast.LENGTH\u SHORT.show();
}
}

您的XML中有
列表视图
,但您没有将适配器传递给它。创建一个
列表视图
,并将适配器传递到此列表视图

试试这个

ListView myList=(ListView)findViewById(android.R.id.list);
myList.setAdapter(la);

XML中有
ListView
,但没有将适配器传递给它。创建一个
列表视图
,并将适配器传递到此列表视图

试试这个

ListView myList=(ListView)findViewById(android.R.id.list);
myList.setAdapter(la);

这是因为您正在扩展ListActivity。ListActivity从android软件包中查找具有特定标识符的ListView

看看你的列表活动的这一行

setContentView(R.layout.activity_main);

ListActivity正在扩大主活动的布局,而不是页面2(包含listview)的布局

您需要在ListActivity的onCreate中更改该行,以扩大正确的布局。假设您的ListActivity布局称为R.layout.list\u activy。那条线就变成了

setContentView(R.layout.list_activity);
我不确定包含listview的布局文件的名称,而不是您当前拥有的名称。您没有提到它(第页?)


编辑:我刚刚记得ListActivity可能根本不需要调用setContentView(),因为您可以在setAdapter()中将父布局传递给适配器。尝试完全删除该行,只需调用setAdapter即可。这两种方法都应该有效,因为您正在扩展ListActivity。ListActivity从android软件包中查找具有特定标识符的ListView

看看你的列表活动的这一行

setContentView(R.layout.activity_main);

ListActivity正在扩大主活动的布局,而不是页面2(包含listview)的布局

您需要在ListActivity的onCreate中更改该行,以扩大正确的布局。假设您的ListActivity布局称为R.layout.list\u activy。那条线就变成了

setContentView(R.layout.list_activity);
我不确定包含listview的布局文件的名称,而不是您当前拥有的名称。您没有提到它(第页?)


编辑:我刚刚记得ListActivity可能根本不需要调用setContentView(),因为您可以在setAdapter()中将父布局传递给适配器。尝试完全删除该行,只需调用setAdapter即可。这两种方法都应该有效,尽管我尝试过,但仍然不起作用。ListAdapter la=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,ex);ListView myList=(ListView)findViewById(android.R.id.list);myList.setAdapter(la);错误您的内容必须有一个id属性为“android.R.id.list”的ListView。我尝试了一下,但仍然不起作用。ListAdapter la=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,ex);ListView myList=(ListView)findViewById(android.R.id.list);myList.setAdapter(la);错误您的内容必须具有id属性为“android.R.id.list”的ListView您的ListActivity正在扩大主活动的布局,而不是页面2(包含ListView)的布局。请查看我的最新答案,并让我知道它是否正确works@ggmax这是否解决了您的问题??您的ListActivity正在扩大主活动的布局,而不是页面2(包含listview)的布局。请查看我的最新答案,并让我知道它是否正确works@ggmax这是否解决了您的问题??您需要更改ListActivity中的setContentView()行,以扩大包含listview的正确布局。请查看我的更新答案是的,我看到了,但问题是当我将setContentView()从(R.layout.activity_main)更改为(R.layout.list_activity)时,我的滑动寻呼机无法工作。再次感谢。R.layout.list_活动是包含ListView的布局文件的实际名称吗?尝试完全删除对setContentView()的调用。ListActivity仍将查找传递给适配器的布局。如果它不是R.layout.page_2,我现在将ListActivity更改为activity,但我的寻呼机滑动不起作用。请查看我编辑的活动。如果将ListActivity更改为activity,则必须将listview的ID而不是android.R.ID.list更改为其他内容。您需要更改列表中的setContentView()行
setContentView(R.layout.list_activity);