TextViewにテキストを設定すると問題が発生します。
TextView Android:editable = "true".
私の.Javaでは、これはうまくいくはずです:
text = (EditText) findViewById(R.id.this_is_the_id_of_textview);
text.setText("TEST");
しかし、そうではありません。誰がここで何が悪いのか教えてもらえますか?
Javaクラスで、「EditText
」タイプを「TextView
」に設定します。TextView
をlayout.xml
ファイル
代わりに、コードは次のようになります。
TextView text = (TextView) findViewById(R.id.this_is_the_id_of_textview);
text.setText("test");
以下のコードを使用するよりも、アクティビティのいずれかにテキストを設定するには...次の手順を1つずつ実行します。
1.宣言
private TextView event_post;
2.バインドする
event_post = (TextView) findViewById(R.id.text_post);
3.SetText in
event_post.setText(event_post_count);
このようにしてみてください:
TextView text=(TextView)findViewById(R.id.textviewID);
text.setText("Text");
これの代わりに:
text = (EditText) findViewById(R.id.this_is_the_id_of_textview);
text.setText("TEST");
私は同様の問題を抱えていましたが、テキストを設定しようとするとプログラムがクラッシュしました。 AsyncTaskを拡張するクラス内からテキスト値を設定しようとしていましたが、それが問題の原因でした。
それを解決するために、setTextをonPostExecuteメソッドに移動しました
protected void onPostExecute(Void result) {
super.onPostExecute(result);
TextView text = (TextView) findViewById(R.id.errorsToday);
text.setText("new string value");
}
または、この方法で行うことができます:
((TextView)findViewById(R.id.this_is_the_id_of_textview)).setText("Test");
テキストを、横向きの場合など、現金にあるアクティビティの別のインスタンスでレンダリングされたフィールドに設定します。その後、何らかの理由で再作成されました。文字列をSharedPreferencesに保存し、mOutputTextの場合、recreate()を使用してアクティビティを強制的に再起動することにより、通常とは異なる方法でテキストを設定する必要があります。
@Override
protected void onResume() {
super.onResume();
String sLcl=mPreferences.getString("response","");
if(!sLcl.isEmpty()){
mOutputText.setText(sLcl);
mPreferences.edit().putString("response","").commit();
}
}
private void changeText() {
mPreferences.edit().putString("response",responseText).commit();
recreate();
}
@Override
protected void onActivityResult(
int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case CAPTURE_MEDIA_RESULT_CODE:
if (null == data || null == data.getData()) {
showMessage("Sorry. You didn't save any video");
} else {
videoUri = data.getData();
mProgress = new ProgressDialog(this);
mProgress.setMessage("Uploading onYoutube ...");
authorizeIt();// SAY YOU CALL THE changeText() at the end of this method
}
break;
}
}
XMLでは、Textviewを使用していましたが、Java TextViewではなくEditTextを使用したコードで。TextViewに変更する場合は、TextViewオブジェクトにTextを設定できます。
text = (TextView) findViewById(R.id.this_is_the_id_of_textview);
text.setText("TEST");
うまくいくことを願っています。