0
int department;
Button search;
String display;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    department = 0;
    search = (Button) findViewById(getResources().getIdentifier("btnSearch", "id",    getPackageName()));
    display = (String) findViewById(getResources().getIdentifier("tvDisplay", "id",      getPackageName()));

    search.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (department == 1)
            {
                display = "food";
            }

私がやろうとしているのは、ユーザーに番号を入力してボタンを押すことです。下部にある textView に部門名が表示されます。ただし、エラーが発生し、その一部を textView ではなく文字列に変換しました。出力先を修正するにはどうすればよいですか?

display = (String) findViewById(getResources().getIdentifier("tvDisplay", "id", getPackageName()));ビューから文字列に変換できないと言っています。

4

3 に答える 3

2

これを試して:

TextView display = (TextView) findViewById(getResources().getIdentifier("tvDisplay", "id", getPackageName()));

// get the text
String displayString = (String)display.getText();
于 2012-04-17T13:58:44.833 に答える
2

問題は、テキストビューを文字列に変換していることです。のタイプを に変更displayTextView、そのsetTextメソッドを使用してテキストを表示する必要があります。次のコードを試してください。

int department;
Button search;
TextView display;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    department = 0;
    search = (Button) findViewById(getResources().getIdentifier("btnSearch", "id", getPackageName()));
    display = (TextView) findViewById(getResources().getIdentifier("tvDisplay", "id", getPackageName()));

    search.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            // TODO Auto-generated method stub
            if (department == 1)
            {
                display.setText("food");
            }
        }
    });
}
于 2012-04-17T14:07:55.073 に答える
0

tvDisplayはTextViewであり、文字列ではありません。したがって、TextViewを表示し、ビューを見つけてから、display.getText()を呼び出して表示されたテキストを取得します。

于 2012-04-17T14:01:44.337 に答える