提问者:小点点

无法解析符号“set text”和“to string”


在遵循一个教程的时候,我做了和他一样的事情,他没有得到任何错误。 它一直显示我不能解决符号‘设置文本’和‘到字符串’,我不知道为什么它显示我这些错误。 我尝试了文件-->; 使缓存无效/重新启动。。。 但没起作用。 这是我的mainactivity.java。

package com.example.firstapk;

import android.os.Bundle;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {

            TextView textValue = findViewById(R.id.text_value);
            String stringValue = textValue.getText().toString();
            int originalValue = Integer.parseInt(stringValue);
            int newValue = MyWorker.doubleTheValue(originalValue);
            textValue.setText(Integer.toString(newValue));

            @Override
            public void onClick(View view) {

                Snackbar.make(view, "Changed Value " + originalValue + " to " + newValue, Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

共1个答案

匿名用户

只需将TextValue.SetText(Integer.ToString(newValue));代码移动到onClick()方法中,它就会工作

试试这个

fab.setOnClickListener(new View.OnClickListener() {

            
            @Override
            public void onClick(View view) {

            TextView textValue = findViewById(R.id.text_value);
            String stringValue = textValue.getText().toString();
            int originalValue = Integer.parseInt(stringValue);
            int newValue = MyWorker.doubleTheValue(originalValue);
            textValue.setText(Integer.toString(newValue));

                Snackbar.make(view, "Changed Value " + originalValue + " to " + newValue, Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });