在发布我的问题之前,我想澄清这是我在stackoverflow上的第一篇文章,让我们开始讲故事。
正如标题所说,我在Android上创建了我的第一个应用程序,我发现自己被一个问题阻止了。
我的应用上有3个按钮: button1:再次给textview2" hello world"并使其可见 // button2:make textView2 INVISIBLE // button3:make textView1 INVISIBLE
这是代码freom main_activity:
package com.example.ismail.app_test_1;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
Button button_aff;
Button button_hide;
Button button_hide_hw;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_aff = (Button) findViewById(R.id.button);
button_hide = (Button) findViewById(R.id.button2);
button_hide_hw = (Button) findViewById(R.id.button3);
button_aff.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Show("hello world again");
}
});
button_hide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Hide();
}
});
button_hide_hw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Hide_hw();
}
});
}
public void Show(String str)
{
TextView text;
text = (TextView) findViewById(R.id.textView2);
text.setVisibility(View.VISIBLE);
text.setText(str);
setContentView(text);
}
public void Hide()
{
TextView text;
text = (TextView) findViewById(R.id.textView2);
text.setVisibility(View.INVISIBLE);
setContentView(text);
}
public void Hide_hw()
{
TextView text;
text = (TextView) findViewById(R.id.textView);
text.setVisibility(View.INVISIBLE);
setContentView(text);
}
}
在我的手机上拿到它后,当我触摸任何按钮时:"不幸的是,app_test_1已经停止了! 有人能帮助我吗?
编辑:我删除了setContentView并且它可以工作,非常感谢。如果有人有一个好的tuto,这将帮助我提高我的Android编程技能我是一个接受者
答案 0 :(得分:1)
请勿在{{1}}之外使用setContentView()
方法
只需在show和hide函数中删除它。应该工作
答案 1 :(得分:0)
删除setContentView(text);它会起作用。你不需要打电话。