【发布时间】:2014-06-15 15:21:24
【问题描述】:
更新了我的代码..
当我单击(Day03 活动)中的 btn 按钮时,我想从我的 GridView(主要活动)中删除一个项目。
这是我的活动:
公共类 Main 扩展 Activity {
GridView gridView;
public static int deletePos;
static ArrayAdapter adapter;
static final String[] numbers = new String[] { "1", "2", "3", "4", "5",
"6", "7" };
static final String[] activities = new String[] { "Day01", "Day02",
"Day03", "Day04", "Day05", "Day06", "Day07" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid);
gridView = (GridView) findViewById(R.id.grid1);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, numbers);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String val = activities[arg2]; // arg2 is the index of item
Class ourClass = null;
try {
ourClass = Class.forName("com.example.cahllenge." + val);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent intent = new Intent(Main.this, ourClass);
deletePos = arg2;
adapter.notifyDataSetChanged();
startActivity(intent);
}
});
}
还有 Day03 活动 公共类 Day03 扩展了 Activity {
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.ok);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int deletePos = Main.deletePos;
Main.adapter.remove(deletePos);
Main.adapter.notifyDataSetChanged();
}
});
}
【问题讨论】:
-
为什么需要其他活动?您可以长按侦听器并删除项目您可以使用带有网格项目的复选框并删除选中的项目。除非您想做其他事情,否则不需要仅删除项目的其他活动
-
我在 Day03 Activity 中有一个测验,我希望用户完成它时自动从 GridView 中删除该项目。
-
您可以考虑重新设计您的应用程序。第二个真的没用
-
你有例子吗?
-
不,我不是在设计你的应用程序,也没有类似的代码
标签: android button gridview android-activity