xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/white"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<GridView
android:id="@+id/myGridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="5" >
</GridView>
<TextView
android:id="@+id/myTextView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textColor="@drawable/blue"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/myButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_button1" />
<Button
android:id="@+id/myButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_button2" />
</LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myCheckedTextView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@drawable/blue"
android:textSize="12sp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="6dip"
android:minHeight="?android:attr/listPreferredItemHeight"
/>
java文件:
package dfzy.EX032;
import dfzy.EX032.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.TextView;
public class EX032 extends Activity
{
private TextView mTextView01;
private Button mButton01,mButton02;
private GridView mGridView01;
private String[] mGames1,mGames2;
private ArrayAdapter<String> aryAdapter1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 4个字符串数组 */
mGames1 = new String[]
{
getResources().getString(R.string.str_list1),
getResources().getString(R.string.str_list2),
getResources().getString(R.string.str_list3),
getResources().getString(R.string.str_list4)
};
/* 9个字符串数组 */
mGames2 = new String[]
{
getResources().getString(R.string.str_list1),
getResources().getString(R.string.str_list2),
getResources().getString(R.string.str_list3),
getResources().getString(R.string.str_list4),
getResources().getString(R.string.str_list1),
getResources().getString(R.string.str_list2),
getResources().getString(R.string.str_list3),
getResources().getString(R.string.str_list4),
getResources().getString(R.string.str_list1)
};
mButton01 = (Button)findViewById(R.id.myButton1);
mButton02 = (Button)findViewById(R.id.myButton2);
mGridView01 = (GridView)findViewById(R.id.myGridView1);
mTextView01 = (TextView)findViewById(R.id.myTextView1);
mButton01.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
/* 4个元素,以2列方式呈现(2x2) */
mGridView01.setNumColumns(2);
aryAdapter1 = new ArrayAdapter<String>
(EX032.this, R.layout.simple, mGames1);
mGridView01.setAdapter(aryAdapter1);
//mGridView01.setScrollBarStyle(DEFAULT_KEYS_DIALER);
mGridView01.setSelection(2);
mGridView01.refreshDrawableState();
}
});
mButton02.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
/* 9个元素,以3列方式呈现(3x3) */
mGridView01.setNumColumns(3);
aryAdapter1 = new ArrayAdapter<String>
(EX032.this, R.layout.simple, mGames2);
mGridView01.setAdapter(aryAdapter1);
}
});
mGridView01.setOnItemClickListener
(new GridView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent,
View v, int position, long arg3)
{
// TODO Auto-generated method stub
/* 判断Adapter里的元素个数,判断被点击的是第几个元素名称 */
switch(aryAdapter1.getCount())
{
case 4:
/* position为GridView里的元素索引值 */
mTextView01.setText(mGames1[position]);
break;
case 9:
mTextView01.setText(mGames2[position]);
break;
}
}
});
}
}