Сейчас я работаю над тестовым проектом, чтобы попрактиковаться в некоторых основных функциях макета Android, прежде чем приступить к работе над своим проектом.
На данный момент я испытываю некоторые кнопки и изменения активности, и получил стек на одну неприятную проблему.
Сначала я не был уверен, почему мой новый макет просто не будет отображать некоторые кнопки, которые я на нем поместил, но теперь проблема становится более странной.
Как я скоро покажу в своем коде, у меня есть два XML-файла макета, один для обработки основного действия и один для второго. Сначала все было хорошо, но потом я заметил, что не вижу одинокой кнопки на втором макете, и я не мог понять, почему. я пытался изменить 2-й макет, чтобы он был основным макетом (просто я изменил setContentView () в основном действии), но, как ни странно, программа продолжала вызывать оригинальный макет вместо того, который указан в коде (конечно, Я проверил ошибки, или, если это было на самом деле, было сделано, я также специально вставил ошибки и проверил, что программа не запускается).
Видя, что может быть какая-то более серьезная проблема, я попытался добавить еще одну кнопку в основной XML-файл макета, но ни в коем случае программа не начинала со старого.
Я искал ответ, пытался очистить свой проект и перестроить его, искал пропущенные файлы в моей строке xml, но ничего не смог исправить, в настоящий момент я ничего не понимаю о том, что пошло не так.
Я предполагаю, что если я начну с проекта все будет хорошо, но я не смогу начать новый проект каждый раз, когда возникают проблемы. (особенно если я делаю что-то не так).
вот мой код:
Основная деятельность:
$
пакет test.android.mark.III;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupWindow;
public class AndroidMarkIII extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
final Button button1 = (Button) findViewById(R.id.button1); // bind button to the view from the xml
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
openNewWindow(v);
}
});
final Button button2 = (Button) findViewById(R.id.button2);// bind button to the view from the xml
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
openPopupWindow(button2);
}
});
}
protected void openNewWindow(View v) {
Intent listWindowIntent = new Intent(v.getContext(), ListWindowActivity.class);
startActivityForResult(listWindowIntent, 0);
}
}
Мое второе занятие:
пакет test.android.mark.III;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ListWindowActivity extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Button returnButton = (Button) findViewById(R.id.return_button);
returnButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
}
}
Мой основной файл XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/title1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/title1"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/title1"
android:layout_centerHorizontal="true"
android:text="@string/push_button"
android:padding="50dp" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button1"
android:text="@string/popup_button"
android:layout_centerHorizontal="true"
android:padding="75dp" />
<TextView //Was added later for check reason (wasn't seen on any run)
android:id="@+id/end"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/title1"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
мой второй XML (для второго упражнения)
<TextView
android:id="@+id/list_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Hello World" />
<Button
android:id="@+id/return_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/return_button"
android:visibility="visible">
</Button>
</LinearLayout>
и в любом случае мои строки xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, AndroidMarkIIIActivity!</string>
<string name="app_name">AndroidMarkIII</string>
<string name="title1">This is a test program</string>
<string name="push_button">Push Button - 50dp</string>
<string name="popup_button">Popup Button - 75dp</string>
<string name="return_button">return Button - 10dp</string>
<string name="close_popup_button">X</string>
<string name="popup_text">this is popup - 25dp</string>
<string name="list_window_app_name">AndroidMarkIII2ndWindow</string>
</resources>
и мой самый скучный xml
<uses-sdk android:minSdkVersion="14" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".AndroidMarkIII" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ListWindowActivity">
</activity>
</application>
</manifest>
Я действительно надеюсь, что кто-то сможет решить эту проблему, потому что это на самом деле кажется действительно глупой проблемой, но тем не менее, я не могу продолжать работать, пока она у меня есть.
Заранее спасибо
Oren