【问题标题】:Android : List : How do I get each item of a list to send me to a different activity?Android : List : 如何让列表中的每个项目将我发送到不同的活动?
【发布时间】:2014-05-04 20:52:00
【问题描述】:

对不起我的英语。

我正在使用一个列表,我希望我单击的每个项目都将我发送到不同的活动。 使用我的代码,它会将我发送到我选择的每个项目的相同活动。

示例:我有活动 1、活动 2 和活动 3。在列表中我有 3 个项目:项目 1、项目 2、项目 3。当我单击项目 1 时,它会将我发送到活动 1,同样的事情项目 2 和 3。当我单击项目 2 时,我想打开活动 2,当我单击项目 3 时,我想打开活动 3。我是新手,所以请善待我;)

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity1 extends ListActivity {

    static final String[] MENU = new String[] { "Ne salla", "Se shpejti", "Kinemate",
            "Rreth Nesh"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // no more this
        // setContentView(R.layout.list_fruit);

        setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_main_activity1,MENU));

        ListView listView = getListView();
        listView.setTextFilterEnabled(true);

        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

                Intent intent = new Intent(getBaseContext(),NeSalla.class);
                startActivity(intent);   
            }
        });

    }

}

在 XML 文件中

    <?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="20sp" >
</TextView>

【问题讨论】:

    标签: android listview android-activity


    【解决方案1】:

    使用 switch 语句使用被点击项的位置来选择启动哪个 Activity。

    listView.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    Intent intent;
                    switch(position) {
                        case 0:
                            intent = new Intent(getBaseContext(), NeSalla.class);
                            break;
                        case 1:
                            intent = new Intent(getBaseContext(), ...);
                            break;
                        ...
                    }
                    startActivity(intent);   
                }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-11
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      相关资源
      最近更新 更多