2017-05-13 56 views
1

所以,最近隨後就如何使自定義的ListView這段視頻的說明:https://www.youtube.com/watch?v=D0or0X12FMMAndroid的工作室 - 自定義的ListView崩潰

該程序在啓動時發生崩潰,其DOA和展示的任何崩潰之前。

It's not logging any errors to the console.

這是我在視頻+ mainifest所示的零部件代碼:

我有一種感覺它與清單的問題。只是基於其他職位。提前致謝!

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.doubl.my_application"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".ListTest"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

activity_list_test.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="16dp" 
    tools:context="com.example.doubl.my_application.ListTest"> 

    <ListView 
     android:id="@+id/list1" 
     android:layout_width="312dp" 
     android:layout_height="519dp" 
     android:layout_alignParentTop="true"/> 
</android.support.constraint.ConstraintLayout> 

row.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:layout_width="60dp" 
     android:layout_height="60dp" 
     android:padding="5dp" 
     android:id="@+id/icon" 
     android:src="@mipmap/ic_launcher" 
     /> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="2dp" 
      android:textColor="#33CC33" 
      android:id="@+id/text1" 
      android:layout_marginTop="5dp" 
      android:layout_marginLeft="10dp" 
      android:text="Medium Text" 
      /> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/text2" 
      android:layout_marginLeft="10dp" 
      android:text="TextView" 
      /> 

    </LinearLayout> 

</LinearLayout> 

ListTest.java

package com.example.doubl.my_application; 

import android.content.Context; 
import android.content.res.Resources; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.*; 

public class ListTest extends AppCompatActivity { 

    ListView list; 
    String [] titles; 
    String [] description; 
    int[] imgs = {R.drawable.facebook, R.drawable.instagram, R.drawable.twitter, R.drawable.google}; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_list_test); 


     Resources res = getResources(); 
     titles = res.getStringArray(R.array.titles); 
     description = res.getStringArray(R.array.description); 

     list = (ListView) findViewById(R.id.list1); 
     MyAdapter adapter = new MyAdapter(this, titles, imgs, description); 
     list.setAdapter(adapter); 
    } 

    class MyAdapter extends ArrayAdapter<String>{ 

     Context context; 
     int[] imgss; 
     String myTitles[]; 
     String myDescription[]; 

     MyAdapter(Context c, String []titles, int[] img, String[]description){ 
      super(c, R.layout.row, R.id.text1, titles); 
      this.context = c; 
      this.imgss = img; 
      this.myDescription = description; 
      this.myTitles = titles; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent){ 
      LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View row = layoutInflater.inflate(R.layout.row,parent,false); 
      ImageView images = (ImageView) findViewById(R.id.icon); 
      TextView myTitle = (TextView) findViewById(R.id.text1); 
      TextView myDescription = (TextView) findViewById(R.id.text2); 
      images.setImageResource(R.drawable.facebook); 
      images.setImageResource(imgs[position]); 
      myTitle.setText(titles[position]); 
      myDescription.setText(description[position]); 
      return row; 
     } 

    } 
} 
+0

爲什麼發佈應用程序崩潰消息的圖片?發佈錯誤logcat。 – Denny

+0

@Denny它不會拋出任何我能看到的錯誤。我對Android Studio非常陌生,什麼是logcat? –

+0

@Will Thornton請將它改爲「什麼是logcat?」 –

回答

0

就轉到:

Android Studio --> File --> Setting --> Build, execution, deploy --> Instant run

並禁用即時運行。

相關問題