我正在创建一个Android应用程序,在所有代码之后,生病获取一个int数组。让我们假装它是3,5,24。 我有另外两个数组:array1和array2。我想知道显示这样一个菜单的最佳方式:
我也需要每个项目都可点击。 我该怎么做?
另外,我需要更改背景和字母颜色。 感谢所有的帮助。
答案 0 :(得分:0)
我为你创建了一个简单的ListView
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[];
}
}
这是listviewrow.xml:
<?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>
最后是activity_main.xml:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
如果你想使用除了Integer以外的东西,你应该很容易弄明白。只需更改泛型并更改类型,您应该没问题。如果您需要更多帮助来解决这个问题,请告诉我。