Работал над этой проблемой в течение нескольких дней, и я не могу на всю жизнь определить, что ее вызвало. Я пытался установить точки останова повсюду. Пошаговый по коду. Я не вижу нигде в моем коде, где я что-то напортачил. При отладке приложения единственный неправильный вывод logcat имеет место при запуске второго действия. В эмуляторе экран гаснет, а приложение зависает. Последние несколько строк Logcat отображают:
I/ActivityManager( 59): Starting activity: Intent { cmp=com.testapp/.result
W/ActivityManager( 59): Launch timeout has expired, giving up wake lock!
W/ActivityManager( 59): Activity idle timeout for HistoryRecord{45048110 com.test/.result}
Очевидно, что я сделал что-то не так с тем, как я называю второе упражнение, поэтому я решил, что просто покажу все, что написал специально для этого момента, и посмотрю, сможет ли кто-нибудь в сообществе увидеть то, что я ». м отсутствует.
Манифест приложения выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.manskills"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/launcher" android:label="@string/app_name">
<activity android:name=".testapp"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".result"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
Часть моего кода, которая вызывает второе действие, выглядит следующим образом:
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView parent, View v, int position, long id)
{
String cat = lv.getAdapter().toString();
Intent i = new Intent(testapp.this, result.class );
i.putExtra("category", cat);
i.putExtra("skill", lv.getSelectedItemPosition());
testapp.this.startActivity(i);
}
}
И второй класс активности содержится в отдельном Java-файле следующим образом:
public class result extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
TextView tv_title = (TextView) findViewById(R.id.skill_title);
ImageView iv1 = (ImageView) findViewById(R.id.skill_pic1);
TextView tv1 = (TextView) findViewById(R.id.skill_text1);
Bundle bund = getIntent().getExtras();
String cat = bund.getString("category");
int skill = bund.getInt("skill"); }
Файл макета xml для второго упражнения представляет собой простой относительный макет с некоторыми видами текста и изображениями. Я заблудился в соусе из-за того, что я делаю неправильно. Кто-нибудь может указать что-нибудь?