Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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
Java 每个ListView项打开具有不同文本的布局_Java_Android_Listview_Android Activity - Fatal编程技术网

Java 每个ListView项打开具有不同文本的布局

Java 每个ListView项打开具有不同文本的布局,java,android,listview,android-activity,Java,Android,Listview,Android Activity,如果我需要为每个ListView项打开具有不同文本的布局,并且我有很多ListView项(大约50个),我的onClickListener应该是什么样子?我是否需要为每个新项目创建新的活动或布局文件?是否可以对所有项目使用一个活动? 这是我的MainActivity.java: public class MainActivity extends Activity { // ListView private ListView listView; // Adapter

如果我需要为每个ListView项打开具有不同文本的布局,并且我有很多ListView项(大约50个),我的onClickListener应该是什么样子?我是否需要为每个新项目创建新的活动或布局文件?是否可以对所有项目使用一个活动? 这是我的MainActivity.java:

public class MainActivity extends Activity {
    // ListView
    private ListView listView;

    // Adapter
    ArrayAdapter<String> adapter;

    String items [];

    // ArrayList
    ArrayList<HashMap<String, String>> productList;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //ListView data in res/values/arrays.xml
        items =getResources().getStringArray(R.array.items);


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

        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.listItem, items);
        listView.setAdapter(adapter);

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

                /* 
                I know that I can put here I can put something like this:

                case 0 :Intent appInfo = new Intent(About.this, Activity1.class);
                    startActivity(appInfo);
                    break;
                case 1 :Intent appInfo = new Intent(About.this, Activity2.class);
                    startActivity(appInfo);
                    break;
                case 2 :Intent appInfo = new Intent(About.this, Activity3.class);
                    startActivity(appInfo);
                    break;

                    BUT DO I NEED REPEAT THIS MORE THAN 20 TIMES?!
                    */

                }
        });
    }
}
公共类MainActivity扩展活动{
//列表视图
私有列表视图列表视图;
//适配器
阵列适配器;
字符串项[];
//ArrayList
ArrayList产品列表;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//res/values/arrays.xml中的ListView数据
items=getResources().getStringArray(R.array.items);
listView=(listView)findViewById(R.id.list\u视图);
适配器=新阵列适配器(此,R.layout.list_项,R.id.listItem,项);
setAdapter(适配器);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
/* 
我知道我可以放在这里我可以放这样的东西:
案例0:Intent appInfo=新Intent(About.this,Activity1.class);
星触觉(appInfo);
打破
案例1:Intent appInfo=新Intent(About.this,Activity2.class);
星触觉(appInfo);
打破
案例2:Intent appInfo=新Intent(About.this,Activity3.class);
星触觉(appInfo);
打破
但我需要重复20次吗?!
*/
}
});
}
}

有些系统应用程序(如设置)有很多列表视图和布局,我不认为每个布局都有新的活动。

创建一个新的活动并将文本传递给该活动

比如:

Intent intent = new Intent(About.this, <NEW_ACTIVITY>.class);
intent.putExtra("text_key", items[position]);
startActivity(intent);

展示你已经尝试过的东西,请不要期望人们简单地为你写东西。我需要在哪里写我的文字?(对不起中午的问题)对不起,没关系。起初我不明白,但现在一切都清楚了。谢谢
String text = getIntent().getExtras().getString("text_key");