создание приложения, которое запрашивает у пользователя их любимый цвет, а затем принять их к новой деятельности, которая использует этот цвет в качестве цвета фона и говорит что-то хорошее о них.
но я не почему его сбой снова и agian
вот код
MainActivity.Ява
private TextView mtextview;
private EditText medittext;
private Button mbutton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mtextview = (TextView) findViewById(R.id.textView);
medittext=(EditText)findViewById(R.id.editText);
mbutton=(Button)findViewById(R.id.button);
mbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name =medittext.getText().toString();
startStory(name);
}
private void startStory(String name) {
Intent intent = new Intent(MainActivity.this,AnotherActivity.class);
intent.putExtra("name",name);
startActivity(intent);
}
});
}
}
Другое дело.Ява
public class AnotherActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_another);
final RelativeLayout mrelativelayout = (RelativeLayout) findViewById(R.id.activity_main);
Intent intent = getIntent();
String name = intent.getStringExtra("name");
mrelativelayout.setBackgroundColor(Color.parseColor(name));
}
}
Я предполагаю, что вы передаете имя цвета как «черный», «синий», «skyblue» и также другие имена цвета.
Но надеюсь, вы знаете о значении строковых параметров, поддерживаемых методом parseColor ().
Изменение 1 :
прежде всего
AnotherActivity
добавьте ниже код внутриOnCreate
метода.final RelativeLayout mrelativelayout = (RelativeLayout) findViewById(R.id.activity_main)
;потому что это дает вам
NullPointerException
.Изменение 2 :
Вместо того, чтобы попробовать это
используйте этот путь
и передайте эту строку
AnotherActivity
viaIntent
.Убедитесь, что при вставке extra в intent он преобразуется в String.
В настоящее время вы просто передаете редактируемый объект, а не строковый объект intent
Образец:
или лучше изменить тип имени
Пожалуйста, опубликуйте activity_main.xml и activity_another.XML. Проблема в том, что в activity_main нет кнопки с android_id=»@+id/button».xml, вероятно, это в activity_another.XML.