mam problem, aby ustawić widoczność przycisku przez inną działalnośćzestaw przycisk widoczny w innym acticty z Preferencje
wyjaśnienie Kod:
Najpierw menu.xml
<Button
android:id="@+id/f1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginRight="10dp"
android:background="@drawable/button1"
android:visibility="visible" />
<ImageView
android:id="@+id/f2lock"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:src="@drawable/levellocked"
android:visibility="visible" />
<Button
android:id="@+id/f2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/button2"
android:visibility="gone" />
f2
przycisk służy do intencji leveltwo.class
ale nadal jest ustawiona na GONE, f2lock
jest ImageView dla levellocked
drugie, menu.java
public class menu extends Activity {
Button f1, f2;
ImageView f2lock;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.famouslevel);
f1 =(Button)findViewById(R.id.f1);
f1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
// TODO Auto-generated method stub
Intent level1 = new Intent();
level1.setClassName ("com.example.game", "com.example.game.levelone");
startActivityForResult (level1, 0);
}
});
}
public void onActivityResult (int requestCode, int resultCode, Intent level1){
super.onActivityResult (requestCode, resultCode, level1);
f2=(Button)findViewById(R.id.f2);
f2lock=(ImageView)findViewById(R.id.f2lock);
switch (resultCode) {
case 2: f2.setVisibility(View.VISIBLE);
f2lock.setVisibility(View.GONE);
}
f2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
// TODO Auto-generated method stub
Intent level2 = new Intent();
level2.setClassName ("com.example.game", "com.example.game.leveltwo");
startActivityForResult (level2, 0);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.splashscreen, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
następujący kod zadzwonić levelone.java
z wynikiem
więc w levelone.java
i umieścić kod jak ten
public void onClick(View v){
setResult (2);
finish();
}
});
funkcja kod jest wysłanie wynik (2) do menu.class
po zakończeniu level.class
();
public void onActivityResult (int requestCode, int resultCode, Intent level1){
super.onActivityResult (requestCode, resultCode, level1);
f2=(Button)findViewById(R.id.f2);
f2lock=(ImageView)findViewById(R.id.f2lock);
switch (resultCode) {
case 2: f2.setVisibility(View.VISIBLE);
f2lock.setVisibility(View.GONE);
}
powyższy kod ma otrzymać wynik (2) z levelone.class
i zrobić case 2
funkcja
pytanie brzmi, jak używać i ustawić SharedPreferences w przypadku 2? tak F2 i f2lock widzialność będzie zapisany
bo mam spróbować kod SharedPreferences ale nic to się stało, przycisk F2 nadal ma i f2lock ImageView nadal widoczny
mi o to tak:
jak gra kiedy użytkownik zrobili tak poziom 1 poziom 2 będzie odblokowany
ale tu robię przycisk jest widoczny, gdy poziom 1 odbywa
Hej tam. Mogę pomóc ci rozwiązać ten problem, ale jestem nieco zdezorientowany, o co dokładnie pytasz. To pewnie ja jestem głupią gęś, ale wciąż - umysł wyjaśniający w komentarzu, lub robiąc pytanie, tak, że mogę udzielić ci odpowiedniej odpowiedzi, proszę. – Sipty
O wiele więcej abstrakcji i mniej odniesienia do kodu, powinienem dodać. – Sipty
Kod, który mam na myśli, jest jak normalna gra, kiedy poziom 1 ukończył poziom 2 – RichFounders