Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

eclipseのサーフェイスビュー上でtextview0000にtextview0000.setText("");としたいんですが。

eclipseのサーフェイスビュー上で
textview0000にtextview0000.setText("あいうえお");や
button0000にbutton0000.setText("あいうえお");などということが
したいのですが、普通にやるとエラーになります。
よければどなたか教えてくださらないでしょうか。

4

回答

195

閲覧

4件の回答

評価

0

ソースを書いて、エラーの内容も書いたほうがいいよ。

評価

0

全部のせるとかなり長くなるんですよね。

インポートは省きます。
class MainActiviry extends Activity{

static LinearLayout linearlayout0000 = new LinearLayout();
static TextView textview0000 = new TextView();
static AnimationSurfaceView animationsurfaceview = new AnimationSurfaceView();

@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);

linearlayout0000     = new LinearLayout(this);
textview0000         = new TextView(this);
animationsurfaceview = new AnimationSurfaceView(this,surfaceview);

this.setContentView(R.layout.activity_main);//レイアウトはxmlで書いてます。
linearlayout0000 = (LinearLayout)    findViewById(R.id.linearlayout0000);
textview0000 =     (TextView)        findViewById(R.id.textview0000);
surfaceview =     (SurfaceView)    findViewById(R.id.SurfaceViewMain);
}

public class animationsurfaceview extends SurfaceView implements Runnable, SurfaceHolder.Callback{
public AnimationSurfaceView(Context context,SurfaceView sv){super(context);surfaceHolder = sv.getHolder();surfaceHolder.addCallback(this);}


@Override public void run() {canvas = null;
while(thread != null){canvas = surfaceHolder.lockCanvas();
             textview0000.setText("あいうえお");///←これでエラーになります。でもサーフェイス上でしたいんです。
}
}
}
}

もしどなたかやり方をご存知でしたらどうか教えて下さい。

評価

0

>全部のせるとかなり長くなるんですよね。
「その問題が再現できる最低限のコードを載せる」ことを考えよう。
実行時の問題であれば、さらに「そのまま動作する」も加えて。

>これでエラーになります。

こういう書き方ではなく、どんなエラーかを書くことも考えよう。
そして、そのメッセージを検索した結果どんなことが分かって、何を試してみたのか。
質問すること自体は問題ないが、要点を押さえた質問であれば的確な回答もつきやすい。

見たところtextview0000はMainActiviryのstaticフィールドのようなので、
animationsurfaceviewからは見えない、つまり「変数が宣言されていない」コンパイルエラーか。
そうであれば、これはEclipseやAndroidがどうこうではなく、Javaの基本の話なんだが。

評価

0

おやぶんうまくいきやしたぜ・・・・・・・・ッ

handler.post(new Runnable(){@Override public void run(){textview0000.setText("あいう");}});

実は強制終了するもののなぜかエラーの内容が表示されなかったんですよね。
指摘されてから、public static Textview textview0000 = new--としました。
そしたらエラー内容が表示されたんですよ! それでそいつをもとにググったら解決法が出てきました。

ありがとうございました! ひゃっほう!

回答する

ログインしていません。

ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 アカウントをお持ちでない方は会員登録を行ってください。

ユーザ名匿名