Android_列表视图_新活动

Android_列表视图_新活动,android,android-listview,Android,Android Listview,我可以在线性布局中定义文本视图和列表视图吗 如果是,那么我试图定义一个列表视图,并希望每个列表项打开一个新的活动。但是我的活动没有运行,它显示“很遗憾,你的应用程序被迫关闭”。请帮忙 代码如下: public class Second_listview extends ListActivity { static final String[] type = new String[]{ "Array", "Strings" }; @Override protected void

我可以在线性布局中定义文本视图和列表视图吗

如果是,那么我试图定义一个列表视图,并希望每个列表项打开一个新的活动。但是我的活动没有运行,它显示“很遗憾,你的应用程序被迫关闭”。请帮忙

代码如下:

public class Second_listview extends ListActivity
{

static final String[] type = new String[]{

    "Array", "Strings" 

 };

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.second_listview);

    // setting up list view

    setListAdapter (new ArrayAdapter<String>(this, R.layout.second_listview, type));
    ListView list = getListView();
    list.setTextFilterEnabled(true);
    list.setOnItemClickListener(new OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> arg0, View view, int arg2,
                long arg3) {
            // TODO Auto-generated method stub

            //liking each list item to start a new activity

            switch(arg2)

            {
              case 1 : Intent myIntent1 = new Intent(view.getContext(), Array_list.class);
                       startActivityForResult(myIntent1, 0);
                       break;
              case 2 : Intent myIntent2 = new Intent(view.getContext(), String_list.class);
                       startActivityForResult(myIntent2, 0);
                       break;

            }

        }



    });
}



   }
公共类第二个\u listview扩展ListActivity
{
静态最终字符串[]类型=新字符串[]{
“数组”、“字符串”
};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.second_listview);
//设置列表视图
setListAdapter(新的ArrayAdapter(this,R.layout.second_listview,type));
ListView list=getListView();
list.setTextFilterEnabled(true);
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0、View视图、int arg2、,
长arg3){
//TODO自动生成的方法存根
//喜欢每个列表项来开始新的活动吗
开关(arg2)
{
案例1:Intent myIntent1=newintent(view.getContext(),Array_list.class);
startActivityForResult(myIntent1,0);
打破
案例2:Intent myIntent2=newintent(view.getContext(),String_list.class);
startActivityForResult(myIntent2,0);
打破
}
}
});
}
}

将listview的Id设置为“@android:Id/list”,如下所述

            <ListView
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

这可能是一个问题。如有可能,也请告知我们您的布局文件。

更改

setListAdapter (new ArrayAdapter<String>(this,R.layout.main, type));
setListAdapter(新的ArrayAdapter(this,R.layout.main,type));
进入

setListAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,type));
请参阅下面的完整代码

public class Second_listview extends ListActivity
{

static final String[] type = new String[]{

"Array", "Strings" 

 };

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

setContentView(R.layout.second_listview);

// setting up list view

setListAdapter (new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, type));
ListView list = getListView();
list.setTextFilterEnabled(true);
list.setOnItemClickListener(new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int arg2,
            long arg3) {
        // TODO Auto-generated method stub

        //liking each list item to start a new activity

        switch(arg2)

        {
          case 1 : Intent myIntent1 = new Intent(view.getContext(), Array_list.class);
                   startActivityForResult(myIntent1, 0);
                   break;
          case 2 : Intent myIntent2 = new Intent(view.getContext(), String_list.class);
                   startActivityForResult(myIntent2, 0);
                   break;

        }

    }



});
}
}
公共类第二个\u listview扩展ListActivity
{
静态最终字符串[]类型=新字符串[]{
“数组”、“字符串”
};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.second_listview);
//设置列表视图
setListAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,type));
ListView list=getListView();
list.setTextFilterEnabled(true);
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0、View视图、int arg2、,
长arg3){
//TODO自动生成的方法存根
//喜欢每个列表项来开始新的活动吗
开关(arg2)
{
案例1:Intent myIntent1=newintent(view.getContext(),Array_list.class);
startActivityForResult(myIntent1,0);
打破
案例2:Intent myIntent2=newintent(view.getContext(),String_list.class);
startActivityForResult(myIntent2,0);
打破
}
}
});
}
}

只要做以下事情

FirstActivity(MainActivity.java)

}

SecondActivity(Next.java)

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" 
android:background="#000000">

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" >
   </ListView>

 </RelativeLayout>

nextpage.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="200dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="192dp"
        android:text="TextView" />

</RelativeLayout>

AndroidManifest.xml

  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.getlistitemvalueinnewactivity"
  android:versionCode="1"
  android:versionName="1.0" >

  <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
        <activity android:name=".Next"></activity>
      </application>

          </manifest>


请发布日志猫错误..您没有通过findviewby id初始化列表视图。日志猫请添加(sry我是新手:()用这个link@chintan凯蒂亚:谢谢你告诉我。我做错了。但还是没用!我把它改成了android.R.id.list,但我没有得到android.R.layout.simple\u list\u item\u 1?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" 
android:background="#000000">

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" >
   </ListView>

 </RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="200dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="192dp"
        android:text="TextView" />

</RelativeLayout>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.getlistitemvalueinnewactivity"
  android:versionCode="1"
  android:versionName="1.0" >

  <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
        <activity android:name=".Next"></activity>
      </application>

          </manifest>