0

Android アプリの開発に取り掛かることを望んでいるので、現在、いくつかの基本的なチュートリアルを行っています。

現時点では基本に慣れようとしていますが、そのうちの 1 つは Typeface クラスを使用しています。

package org.me.myandroidstuff;

import android.os.Bundle; 
import android.app.Activity;
import android.graphics.Typeface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class HelloWorldActivity extends Activity implements OnClickListener 
{
    private View mainView;
    private TextView tbox1;
    private Button exitButton;
    @Override
 public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mainView=(View)findViewById(R.id.mainView);
    mainView.setBackgroundColor(getResources().getColor(R.color.silver));

    tbox1 = (TextView)findViewById(R.id.textBox1);
    tbox1.setTypeface(Typeface.MONOSPACE);
}
}

この線

tbox1 = (TextView)findViewById(R.id.textBox1);

その横に赤い十字があり(私は日食を使用しています)、エラーがあります

tbox1 cannot be resolved

Javaを使用してからしばらく経ちましたが、次のコードを認識しているため

  1. tbox1 という新しい TextView オブジェクトを作成します
  2. 外部の main.xml の TextView タグの xml で指定された ID を tbox1 オブジェクトに割り当てます。
  3. 次に、tbox1 はそれ自体で setTypeFace() メソッドを実行しますか?

明らかに私はどこかで間違っています、何かアイデアはありますか?本当に単純なことは間違いありません...

4

3 に答える 3

0

1 つのエラーを報告して他のエラーを無視することはできません。コードを見てください。

user370305 が言ったことに加えて、他の問題があります。つまり、Activity契約によると、必要なメソッドimplements OnClickListenerをオーバーライドしません。onClick(View v)契約を満たすには、それを追加する必要があります。

したがって、コードは次のようになります。

package org.me.myandroidstuff;

import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class HelloWorldActivity extends Activity implements OnClickListener {
    private View mainView;

    private TextView tbox1;

    private Button exitButton;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mainView=(View)findViewById(R.id.mainView);
        mainView.setBackgroundColor(getResources().getColor(R.color.silver));

        tbox1 = (TextView)findViewById(R.id.textBox1);
        tbox1.setTypeface(Typeface.MONOSPACE);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
    }
}

他のエラーが誤って報告される原因となる可能性のある他のすべてを修正するまで、エラーについて話すことはできないことを忘れないでください。

于 2013-01-22T14:04:00.817 に答える
0

最初に setContentView(R.layout.yourlayoutfilename); を設定してみてください。onCreate() で。

于 2013-01-22T13:59:40.327 に答える