Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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 使用数组中的项目显示菜单的最佳方式_Java_Android_Arrays_Menu_Onclicklistener - Fatal编程技术网

Java 使用数组中的项目显示菜单的最佳方式

Java 使用数组中的项目显示菜单的最佳方式,java,android,arrays,menu,onclicklistener,Java,Android,Arrays,Menu,Onclicklistener,我正在创建一个Android应用程序,在完成所有代码后,我会得到一个int数组。让我们假设是3,5,24。 我还有另外两个数组:array1和array2。我想知道显示如下菜单的最佳方式: |阵列1[3]阵列2[3]| |阵列1[5]阵列2[5]| |阵列1[24]阵列2[24]| 我需要每个项目是可点击的,以及。 我该怎么做 另外,我需要改变背景和字母的颜色。 提前感谢您的帮助。我为您创建了一个简单的列表视图 import android.os.Bundle; import android

我正在创建一个Android应用程序,在完成所有代码后,我会得到一个int数组。让我们假设是3,5,24。 我还有另外两个数组:array1和array2。我想知道显示如下菜单的最佳方式:


|阵列1[3]阵列2[3]| |阵列1[5]阵列2[5]| |阵列1[24]阵列2[24]|
我需要每个项目是可点击的,以及。 我该怎么做

另外,我需要改变背景和字母的颜色。
提前感谢您的帮助。

我为您创建了一个简单的列表视图

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {

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

        // create list1 and list2 here
        Integer[] list1 = new Integer[4];
        Integer[] list2 = new Integer[4];

        ListView view = (ListView)this.findViewById(R.id.root);
        view.setAdapter(new ListAdapter(this, list1, list2));
    }

    private static class ListAdapter extends ArrayAdapter<Integer>
    {
        public ListAdapter(MainActivity screen, Integer[] list1, Integer[] list2) 
        {
            super(screen, R.layout.listviewrow, list1);
            this.list1 = list1;
            this.list2 = list2;
            this.activity = screen; // << sorry I forgot this!
        }

        public View getView(int position, View row, ViewGroup parent) 
        {   
            row = activity.getLayoutInflater().inflate(R.layout.listviewrow, parent, false);

            TextView view1 = (TextView)row.findViewById(R.id.item1);
            view1.setText(list1[position] + "");
            TextView view2 = (TextView)row.findViewById(R.id.item2);
            view2.setText(list2[position] + "");

            return row;
        }

        private MainActivity activity;
        private Integer list1[];
        private Integer list2[];
    }
}
导入android.os.Bundle;
导入android.app.Activity;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
公共类MainActivity扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//在此处创建列表1和列表2
整数[]列表1=新整数[4];
整数[]列表2=新整数[4];
ListView=(ListView)this.findViewById(R.id.root);
setAdapter(新的ListAdapter(this,list1,list2));
}
私有静态类ListAdapter扩展了ArrayAdapter
{
公共ListAdapter(MainActivity屏幕,整数[]列表1,整数[]列表2)
{
super(screen,R.layout.listviewrow,list1);
this.list1=list1;
this.list2=list2;

this.activity=screen;//你是说一个简单的ListView吗?谢谢你提供的信息,但我在这一行上得到了一个空指针:row=activity.getLayoutFlater().flate(R.layout.listviewrow,parent,false);我认为问题在于活动未初始化。我将尝试解决它,只是想留下信息。我将发布消息soon@PedroGodinho看到我的更新,我忘了在构造函数中分配屏幕引用,对不起!!!
<?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="horizontal" >

    <TextView 
        android:id="@+id/item1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".5"/>

    <TextView 
        android:id="@+id/item2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".5"/>
</LinearLayout>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />