android程序在gridview中放置了TextView,请问怎么可以对TextView的text内容更改呢? 求助高手啊!
4个回答
展开全部
LayoutInflater factory;
factory = LayoutInflater.from(this);
这是长按监听,你可以改成单击的监听就行
gridView.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View view,
final int position, long id) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
RelativeLayout ll = (RelativeLayout) view;
text = (TextView) ll.getChildAt(0);
//pos = position;
String name = text.getText().toString();
System.out.println(name);
final View textEntryView = factory.inflate(R.layout.edit, null);
builder.setTitle("编辑");
builder.setView(textEntryView);
EditText old_name =(EditText) textEntryView.findViewById(R.id.name);
old_name.setText(name);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
EditText new_name =(EditText) textEntryView.findViewById(R.id.name);
String newname = new_name.getText().toString();
Log.i("新值", newname);
text.setText(newname);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
builder.create().show();
return true;
}
});
R.layout.edit--------->edit.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text"
/>
</LinearLayout>
factory = LayoutInflater.from(this);
这是长按监听,你可以改成单击的监听就行
gridView.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View view,
final int position, long id) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
RelativeLayout ll = (RelativeLayout) view;
text = (TextView) ll.getChildAt(0);
//pos = position;
String name = text.getText().toString();
System.out.println(name);
final View textEntryView = factory.inflate(R.layout.edit, null);
builder.setTitle("编辑");
builder.setView(textEntryView);
EditText old_name =(EditText) textEntryView.findViewById(R.id.name);
old_name.setText(name);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
EditText new_name =(EditText) textEntryView.findViewById(R.id.name);
String newname = new_name.getText().toString();
Log.i("新值", newname);
text.setText(newname);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
builder.create().show();
return true;
}
});
R.layout.edit--------->edit.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text"
/>
</LinearLayout>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TextView的内容 在xml文件中的android:text="内容" 而在java代码中就就要取得textView的id然后进行settext啊!
追问
谢谢!
想问的是怎么对gridview中的单元进行编辑?比如怎么得到某个位置的view并对其进行设置?
追答
android:id="@+id/name" 这是设置一个ID然后在Java代码中找到ID然后就可以有一系列函数用了 可以安卓的开发文档!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试一下用GridView的setOnItemSelectedListener监听,不保证好用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更改text内容,要用到adapter.notifyDataSetChanged(),这个的用法,你再百度一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询