<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/gridview01"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<GridView
android:id="@+id/gridview01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:columnWidth="10dp"
android:horizontalSpacing="60dp"
android:gravity="center"
android:stretchMode="columnWidth"/> <ImageView
android:id="@+id/ImageView01"
android:scaleType="fitXY"
android:layout_width="100dp"
android:layout_height="98dp"
>
</ImageView>
<TextView
android:id="@+id/TextView01"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="24dp"
android:paddingLeft="5dp"
>
</TextView>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="24dp"
android:paddingLeft="5dp"
>
</TextView>
</LinearLayout>java代码,package com.example.sample_3_2_activity;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;public class MainActivity extends Activity { //创建继承Activity的类
int [] drawableIds = {R.drawable.a,R.drawable.b,R.drawable.c}; //所有图片的id数组
int [] nameIds = {R.string.android01,R.string.android02,R.string.android03}; //所有字符创id数组
int [] msgIds = {R.string.android001,R.string.android002,R.string.android003};
public List<? extends Map<String,?>> generateDataList() { //方法声明
ArrayList<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
int rowCounter = drawableIds.length; //得到表格的行数
for(int i = 0;i<rowCounter;i++) { //循环生成对应各个列数据
HashMap<String, Object> hmap = new HashMap<String,Object>(); //HashMap集合
hmap.put("col1", drawableIds[i]); //第一列为图片
hmap.put("col2", this.getResources().getString(nameIds[i])); //第二列为姓名
hmap.put("col3", this.getResources().getString(msgIds[i])); //第三列为描述
list.add(hmap); //加入到集合当中
}
return list;
}
@Override
public void onCreate(Bundle savedInstanceState) { //继承Activity要重写的方法
super.onCreate(savedInstanceState); //调用父类
setContentView(R.layout.activity_main); //跳转到主界面
GridView gv = (GridView)this.findViewById(R.id.gridview01);
SimpleAdapter sca = new SimpleAdapter(this,
generateDataList(),
R.layout.activity_main, //行对应
new String[] {"col1","col2","col3"}, //列名列表
new int[] {R.id.ImageView01,R.id.TextView01,R.id.TextView02}); //列对应空间id列表
gv.setAdapter(sca);
gv.setOnItemClickListener( //设置选项中的监听器
new OnItemClickListener() { //匿名内部类 @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
TextView tv = (TextView)findViewById(R.id.TextView01); //获取主界面TextView
LinearLayout ll = (LinearLayout)arg1;
TextView tvn = (TextView)ll.getChildAt(1); //获取其中的TextView
TextView tvnl = (TextView)ll.getChildAt(2); //获取其中的TextView
StringBuilder sb = new StringBuilder();
sb.append(tvn.getText());
sb.append("");
sb.append(tvnl.getText());
tv.setText(sb.toString()); //信息设置
}
public void onNothingSelected(AdapterView<?> arg0) { //重写onNothingSelected方法
}
});
gv.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
TextView tv = (TextView)findViewById(R.id.TextView01); //获取主界面TextView
LinearLayout ll = (LinearLayout)arg1;
TextView tvn = (TextView)ll.getChildAt(1); //获取其中的TextView
TextView tvnl = (TextView)ll.getChildAt(2); //获取其中的TextView
StringBuilder sb = new StringBuilder();
sb.append(tvn.getText());
sb.append("");
sb.append(tvnl.getText());
tv.setText(sb.toString()); //信息设置
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
问题是运行不出结果,没找到错,运行处强制关闭的界面,跪求大师解决,弄了一天了啊。我是初学者。
解决方案 »
- 进入我的游戏后报这错误。lib fatal signal 11(SIGSEGV)求大神!
- 关于android 中MediaScan对M4A的TAG信息的支持添加
- android模拟器启动超级慢
- android launcher 实现翻页动画
- 求助,关于onDraw方法
- 如何将edittext里的文本存入SD卡上??
- 请教,如何让用户在apk安装时,弹出信息提示及选择的功能
- 【求助】我的helloworld程序没有效果
- android在网格里涂鸦如何实现点击一下网格,小网格内自动填充满一个颜色
- 关于android调用.net Webservice
- android监听网络变化问题
- 调用网页,但网页的主要数据在xml中,无法正常显示
activity_main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/gridview01"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/ImageView01"
android:scaleType="fitXY"
android:layout_width="100dp"
android:layout_height="98dp"
>
</ImageView>
<TextView
android:id="@+id/TextView01"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="24dp"
android:paddingLeft="5dp"
>
</TextView>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="24dp"
android:paddingLeft="5dp"
>
</TextView>
</LinearLayout>
grid_row.xml:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:columnWidth="10dp"
android:horizontalSpacing="60dp"
android:gravity="center"
android:stretchMode="columnWidth" >
</GridView>string.xml:
<resources> <string name="app_name">Sample_3_2_Activity</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
<string name="android01">安卓01</string>
<string name="android02">安卓02</string>
<string name="android03">安卓03</string>
<string name="android001">安卓001</string>
<string name="android002">安卓002</string>
<string name="android003">安卓003</string>
</resources>java代码:
package com.example.sample_3_2_activity;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;public class MainActivity extends Activity { //创建继承Activity的类
int [] drawableIds = {R.drawable.a,R.drawable.b,R.drawable.c}; //所有图片的id数组
int [] nameIds = {R.string.android01,R.string.android02,R.string.android03}; //所有字符创id数组
int [] msgIds = {R.string.android001,R.string.android002,R.string.android003};
public List<? extends Map<String,?>> generateDataList() { //方法声明
ArrayList<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
int rowCounter = drawableIds.length; //得到表格的行数
for(int i = 0;i<rowCounter;i++) { //循环生成对应各个列数据
HashMap<String, Object> hmap = new HashMap<String,Object>(); //HashMap集合
hmap.put("col1", drawableIds[i]); //第一列为图片
hmap.put("col2", this.getResources().getString(nameIds[i])); //第二列为姓名
hmap.put("col3", this.getResources().getString(msgIds[i])); //第三列为描述
list.add(hmap); //加入到集合当中
}
return list;
}
@Override
public void onCreate(Bundle savedInstanceState) { //继承Activity要重写的方法
super.onCreate(savedInstanceState); //调用父类
setContentView(R.layout.activity_main); //跳转到主界面
GridView gv = (GridView)this.findViewById(R.id.gridview01);
SimpleAdapter sca = new SimpleAdapter(this,
generateDataList(),
R.layout.grid_row, //行对应
new String[] {"col1","col2","col3"}, //列名列表
new int[] {R.id.ImageView01,R.id.TextView01,R.id.TextView02}); //列对应空间id列表
gv.setAdapter(sca);
gv.setOnItemClickListener( //设置选项中的监听器
new OnItemClickListener() { //匿名内部类 @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
TextView tv = (TextView)findViewById(R.id.TextView01); //获取主界面TextView
LinearLayout ll = (LinearLayout)arg1;
TextView tvn = (TextView)ll.getChildAt(1); //获取其中的TextView
TextView tvnl = (TextView)ll.getChildAt(2); //获取其中的TextView
StringBuilder sb = new StringBuilder();
sb.append(tvn.getText());
sb.append("");
sb.append(tvnl.getText());
tv.setText(sb.toString()); //信息设置
}
public void onNothingSelected(AdapterView<?> arg0) { //重写onNothingSelected方法
}
});
gv.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
TextView tv = (TextView)findViewById(R.id.TextView01); //获取主界面TextView
LinearLayout ll = (LinearLayout)arg1;
TextView tvn = (TextView)ll.getChildAt(1); //获取其中的TextView
TextView tvnl = (TextView)ll.getChildAt(2); //获取其中的TextView
StringBuilder sb = new StringBuilder();
sb.append(tvn.getText());
sb.append("");
sb.append(tvnl.getText());
tv.setText(sb.toString()); //信息设置
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
谢啦!
GridView gv = (GridView)this.findViewById(R.id.gridview01);
强制类型转换出错了,楼主试图把LinearLayout转为GridView
SimpleAdapter不是那么用的吧,传进去的layout中包含有GridView。
应该有说什么错
还是要认真查看一下logcat