Java Android:setText()在设备上不工作,但在带有键盘输入的模拟器上工作
我正在android studio上制作一个简单的应用程序。 MainActivity有一个ListView,其中包含字符串数组中的项, 如果单击某个项目,将显示一个对话框。 该对话框有一个EdixText。我在上面写下文本,如果我点击肯定按钮,我点击的项目的文本视图将更改为我刚才写的内容。 对不起,我的英语不好。。。无论如何,这是我的MainActivity源代码Java Android:setText()在设备上不工作,但在带有键盘输入的模拟器上工作,java,android,android-listview,android-edittext,settext,Java,Android,Android Listview,Android Edittext,Settext,我正在android studio上制作一个简单的应用程序。 MainActivity有一个ListView,其中包含字符串数组中的项, 如果单击某个项目,将显示一个对话框。 该对话框有一个EdixText。我在上面写下文本,如果我点击肯定按钮,我点击的项目的文本视图将更改为我刚才写的内容。 对不起,我的英语不好。。。无论如何,这是我的MainActivity源代码 package com.softdept.sangkyu.swex01; import ... public class SW
package com.softdept.sangkyu.swex01;
import ...
public class SWEX01 extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_swex01);
ListAdapter myAdapter = new MyAdapter(this, getResources().getStringArray(R.array.tvshow));
ListView tvShowList = (ListView)findViewById(R.id.listView);
tvShowList.setAdapter(myAdapter);
tvShowList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> parent, View view, int position, long id) {
final TextView textView = (TextView)view.findViewById(R.id.textView);
String showName = textView.getText().toString();
Toast.makeText(parent.getContext(), showName, Toast.LENGTH_SHORT).show();
AlertDialog.Builder dialog = new AlertDialog.Builder(parent.getContext());
dialog.setTitle("Modify TV show");
dialog.setMessage(showName);
final EditText editText = new EditText(getApplicationContext());
dialog.setView(editText);
dialog.setNegativeButton("Cancel", null);
dialog.setPositiveButton("Modify", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String editShowName = editText.getText().toString();
textView.setText(editShowName);
Toast.makeText(parent.getContext(), "Modified!", Toast.LENGTH_SHORT).show();
}
});
dialog.show();
}
});
}
}
我运行了这个应用程序,在模拟器上用我的键盘输入运行得很好。
然而,我也在我的android设备上运行,当我点击按钮时,文本保持不变。。。
我的代码有什么问题???这就是我在更改了几行代码后的工作方式 最终字符串[]items=getResources.getStringArrayR.array.tvshow //您可以继续使用ListAdapter final ArrayAdapter myAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,items); //正按钮的内部onClick方法 项目【位置】=editShowName; myAdapter.notifyDataSetChanged
每当适配器的数据更改时,您需要调用Adapter.notifyDataSetChanged 这两个版本的操作系统版本相同?如果在onClick中已有的Toast中包含editShowName,它会说什么?新文本还是旧文本?JHH//我已经检查了editShowName,它正常得到了文本。只是setText不起作用,谢谢。首先,在获取字符串数组并使用它之后,所有工作都正常;它将刷新视图本身。参观