我这里有一个简单的Android应用程序,我无法为我的错误保存解决方案,因为它在R.java文件中。它只是继续恢复,我无法保存我修改的内容。
这是我正在处理的代码。它只是一个简单的文本到语音按钮。
private TextToSpeech talker;
private ImageButton imageButton1;
private TextView text;`
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.abc);
talker = new TextToSpeech(this,this);
imageButton1 = (ImageButton) findViewById(R.id.imageButton1);
text = (TextView) findViewById(R.id.text);
text.setText("A");
imageButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String strText2 = text.getText().toString();
if (strText2.length()>0)
{ say(strText2); }
}
});`
我在text = (TextView) findViewById(R.id.text);
上有错误,因为它无法找到应该保存在R.java文件中的资源ID。我的问题是每当我点击建议的解决方案,即在类型id中创建字段文本,错误将消失,如果我保存它,它只是恢复。
答案 0 :(得分:1)
您永远不应该通过编辑R.java
来尝试修复问题。相反,在XML布局文件中查找问题的根本原因R.java
是从...生成的,并修复XML。
请注意,R.java
文件的开头有以下注释:
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
我看不出他们如何更清楚地说明这一点。
答案 1 :(得分:0)
如果它告诉您使用findViewByID创建要查找的视图的ID,则该id不存在。如果你只是在R.java中创建了这个id,你就可以解决症状而不是问题。
你正在膨胀R.layout.abc
所以我想你想要查找的视图在xml中。
您需要将android:id="@+id/imageButton1"
添加到您尝试在代码中检索的按钮中。如果仍然存在某种错误,请清理项目。
编辑:
如果要将TextView添加到布局中,则需要向应该承载TextView的布局添加id,检索布局,如
LinearLayout ll = findViewById(R.id.yourLayout);
TextView tv = new TextView(this);
ll.addView(tv);
tv.setVisibility(View.INVISIBLE);
现在您的视图中有一个新的文本视图。