2011-07-27 7 views
0
public class test extends ListActivity{ 
/** Called when the activity is first created. */ 
protected Dialog mSplashDialog; 
private static final String[] country = { "Iceland", "India", "Indonesia","Iran", "Iraq", "Ireland", "Israel", "Italy", "Laos", "Latvia","Lebanon", "Lesotho ", "Liberia", "Libya", "Lithuania","Luxembourg" }; 
private static final String[] curr = { "ISK", "INR", "IDR", "IRR", "IQD","EUR", "ILS", "EUR", "LAK", "LVL", "LBP", "LSL ", "LRD", "LYD","LTL ", "EUR"};  

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    MyStateSaver data = (MyStateSaver) getLastNonConfigurationInstance(); 
    if (data != null) { 
     // Show splash screen if still loading 
     if (data.showSplashScreen) { 
      showSplashScreen(); 
     } 
     setContentView(R.layout.main);   

     // Rebuild your UI with your saved state here 
    } else { 
     showSplashScreen(); 
     setContentView(R.layout.main); 
     ListView l1 = (ListView) findViewById(R.id.list); 
     l1.setAdapter(new EfficientAdapter(this)); 
     l1.setItemsCanFocus(true); 
     } 
    } 

@Override 
public Object onRetainNonConfigurationInstance() { 
    MyStateSaver data = new MyStateSaver(); 
    // Save your important data here 

    if (mSplashDialog != null) { 
     data.showSplashScreen = true; 
     removeSplashScreen(); 
    } 
    return data; 
} 

/** 
* Removes the Dialog that displays the splash screen 
*/ 
protected void removeSplashScreen() { 
    if (mSplashDialog != null) { 
     mSplashDialog.dismiss(); 
     mSplashDialog = null; 
    } 
} 

/** 
* Shows the splash screen over the full Activity 
*/ 
protected void showSplashScreen() { 
    mSplashDialog = new Dialog(this, R.style.SplashScreen); 
    mSplashDialog.setContentView(R.layout.splashscreen); 
    mSplashDialog.setCancelable(false); 
    mSplashDialog.show(); 

    // Set Runnable to remove splash screen just in case 
    final Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
     removeSplashScreen(); 
     } 
    }, 3000); 
} 

/** 
* Simple class for storing important data across config changes 
*/ 
private class MyStateSaver { 
    public boolean showSplashScreen = false; 
    // Your other important fields here 
} 
public static class EfficientAdapter extends BaseAdapter { 
    private LayoutInflater mInflater; 

public EfficientAdapter(Context context) { 
    mInflater = LayoutInflater.from(context); 
} 
public int getCount() { 
    return country.length; 
    } 
public Object getItem(int position) { 
    return position; 
    } 
public long getItemId(int position) { 
    return position; 
    } 
public View getView(int position, View convertView, ViewGroup parent) { 
    ViewHolder holder; 
    if (convertView == null) { 
     convertView = mInflater.inflate(R.layout.listview, null); 
     convertView.setClickable(true); 
     convertView.setFocusable(true); 

     holder = new ViewHolder(); 
     holder.text = (TextView) convertView.findViewById(R.id.TextView01); 
     holder.text2 = (TextView) convertView.findViewById(R.id.TextView02); 
     holder.text3 = (TextView) convertView.findViewById(R.id.TextView03); 
     holder.text4 = (TextView) convertView.findViewById(R.id.TextView04); 

     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    holder.text.setText(curr[position]); 
    holder.text2.setText(country[position]); 
    holder.text3.setText(country[position]); 
    holder.text4.setText(country[position]); 


    return convertView; 
    } 
    static class ViewHolder { 
     TextView text4; 
     TextView text; 
     TextView text2; 
     TextView text3; 
} 
} 
public void onClick(View v) { 
    Toast.makeText(getApplicationContext(), "Zipcode: ", Toast.LENGTH_SHORT).show(); 

} 
}; 
+1

여기에서 신고하려면 오류를 찾으십시오. –

+0

당신은 무엇이 잘못되고 무엇이 잘못되었는지에 대해 훨씬 더 구체적 일 필요가 있습니다. Logcat은 좋은 시작 (일식 화면의 오른쪽 상단)입니다. –

답변

0

yuo가 ListActivity에서 확장되고 있으면 목록에 android : id = "@ android : id/list"를 추가해야합니다 레이아웃이 같은

<LinearLayout android:orientation="vertical" 
     android:layout_width="fill_parent" android:layout_height="wrap_content"> 
     <ListView android:id="@android:id/list" android:layout_width="fill_parent" 
       android:layout_height="fill_parent" /> 
    </LinearLayout> 

내가 틀릴 수도 있지만 LogCat 추적 및 레이아웃을 제공하면 나는 당신에게 더 나은 조언을 줄 수 있습니다.

+0

이것이 문제 일 수도 있습니다. – dmon

0

나는 당신이 내용 없음을 설정하기 전에 대화 상자를 표시하려고 생각

이 줄 setContentView(R.layout.main)를 작성하십시오; before showSplashScreen()

관련 문제