无法创建编辑文本对象

时间:2017-11-22 15:01:28

标签: java android

我是Android编程的初学者,每次我添加这行代码时,我都找不到应用程序崩溃的原因:

import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;

import static com.example.myapplication.R.id.Client_Name; 

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

   EditText t =(EditText)findViewById(Client_Name);//The problmatic line

我定义的其他视图没有问题

这是XMl:

<EditText 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="Name" 
         android:layout_margin="16dp" 
         android:id="@+id/Client_Name" 
         android:inputType="text"/>

5 个答案:

答案 0 :(得分:1)

更改

findViewById(Client_Name);

findViewById(R.id.Client_Name);

答案 1 :(得分:1)

你拿错了资源。请阅读更多内容。网上有很多教程要学习。

EditText t =(EditText)findViewById(R.id.Client_Name);//The problmatic line

在最新的Android工作室中,您不再需要放置小部件了。

EditText t = findViewById(R.id.Client_Name); // this will do the trick.

答案 2 :(得分:1)

EditText t =(EditText)findViewById(Client_Name);移到onCreate()方法中。

findViewById(Client_Name);更改为findViewById(R.id.Client_Name);

答案 3 :(得分:0)

EditText t =(EditText)findViewById(R.id.Client_Name);

答案 4 :(得分:0)

只需更改

private void Form1_Load(object sender, EventArgs e)
        {
            if (!CheckNetwork())
            {
                MessageBox.Show("No connection available");
                this.Close();
            }
            else
            {

                MessageBox.Show("Network connection available");
            }
        }

到这一个:

findViewById(Client_Name);