2012-08-17 3 views
0

내 목록 활동의 레이아웃에 문제가 있습니다. 내 목록 내가 클릭 할 때 만 textViewListActivity with no animation

내 문제가

SetupActivity이

private MyCustomAdapter mAdapter; 
TextView selection; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

    mAdapter = new MyCustomAdapter(); 

    mAdapter.addItem("Help/FAQ"); 
    mAdapter.addSeparatorItem("Connection to Server"); 
    // mAdapter.addItem("Connection"); 
    // mAdapter.addItem("Network"); 
    // mAdapter.addItem("config"); 
    // mAdapter.addItem("User"); 
    // mAdapter.addItem("pass"); 
    // mAdapter.addItem("Email"); 
    // mAdapter.addItem("PlatForm"); 
    mAdapter.addSeparatorItem("Consumption"); 
    // mAdapter.addItem("100%"); 
    mAdapter.addSeparatorItem("Map"); 
    // mAdapter.addItem("Map rotation"); 
    // mAdapter.addItem("auto Zoom"); 
    // mAdapter.addItem("Measure Units"); 
    // mAdapter.addItem("Show Heading"); 
    // mAdapter.addItem("Compass North");*/ 
    mAdapter.addFooterItem(getString(R.string.setup_note_map)); 
    mAdapter.addSeparatorItem("Support"); 
    mAdapter.addItem("About"); 
    /* 
    * mAdapter.addItem("Contact Us"); mAdapter.addItem("Tutorial"); 
    * mAdapter.addItem("Setup Wizard"); 
    */ 
    mAdapter.addSeparatorItem("Blogs"); 
    mAdapter.addFooterItem(getString(R.string.setup_note_blogs)); 

    setListAdapter(mAdapter); 

    // selection = (TextView) findViewById(R.id.text); 
} 

public void onListItemClick(ListView parent, View view, int position, 
     long id) { 
    parent.getChildAt(position).setBackgroundColor(position); 
    if (position == 0) { 
     Intent myIntent = new Intent(SetupActivity.this, 
       WebviewHandlerActivity.class); 
     myIntent.putExtra("ressource", "help"); 
     SetupActivity.this.startActivity(myIntent); 
    } else if (position == 6) { 
     Intent myIntent = new Intent(SetupActivity.this, 
       AboutActivity.class); 
     SetupActivity.this.startActivity(myIntent); 
    } 

} 

// Adapter Class 
private class MyCustomAdapter extends BaseAdapter { 

    private static final int TYPE_ITEM = 2; 
    private static final int TYPE_SEPARATOR = 0; 
    private static final int TYPE_FOOTER = 1; 
    private static final int TYPE_MAX_COUNT = TYPE_ITEM + 1; 

    private ArrayList<String> mData = new ArrayList<String>(); 
    private LayoutInflater mInflater; 

    private TreeSet<Integer> mSeparatorsSet = new TreeSet<Integer>(); 

    private TreeSet<Integer> mFooterSet = new TreeSet<Integer>(); 

    public MyCustomAdapter() { 
     getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
     mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 

    public void addItem(final String item) { 
     mData.add(item); 
     notifyDataSetChanged(); 
    } 

    public void addSeparatorItem(final String item) { 
     mData.add(item); 
     // save separator position 
     mSeparatorsSet.add(mData.size() - 1); 
     notifyDataSetChanged(); 
    } 

    public void addFooterItem(final String item) { 
     mData.add(item); 
     // save separator position 
     mFooterSet.add(mData.size() - 1); 
     notifyDataSetChanged(); 
    } 

    @Override 
    public int getItemViewType(int position) { 
     if (mSeparatorsSet.contains(position)) 
      return TYPE_SEPARATOR; 
     else if (mFooterSet.contains(position)) 
      return TYPE_FOOTER; 
     return TYPE_ITEM; 
    } 

    @Override 
    public int getViewTypeCount() { 
     return TYPE_MAX_COUNT; 
    } 

    public int getCount() { 
     return mData.size(); 
    } 

    public String getItem(int position) { 
     return mData.get(position); 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 

     ViewHolder holder = null; 
     int type = getItemViewType(position); 
     if (convertView == null) { 
      holder = new ViewHolder(); 
      switch (type) { 
      case TYPE_ITEM: 
       convertView = mInflater.inflate(R.layout.item1, null); 
       holder.textView = (TextView) convertView 
         .findViewById(R.id.text); 
       break; 
      case TYPE_SEPARATOR: 
       convertView = mInflater.inflate(R.layout.item2, null); 
       holder.textView = (TextView) convertView 
         .findViewById(R.id.textSeparator); 
       break; 
      case TYPE_FOOTER: 
       convertView = mInflater.inflate(R.layout.footer, null); 
       holder.textView = (TextView) convertView 
         .findViewById(R.id.note); 
       break; 
      } 
      convertView.setTag(holder); 

     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 
     holder.textView.setText(mData.get(position)); 
     return convertView; 
    } 

} 

public static class ViewHolder { 
    public TextView textView; 
} 

내 XML item1 & item2가 내부 TextViewfooter.xmlLinearLayout를 포함 ListActivity 확장 분리 및 텍스트 행을 포함 오렌지색이되어서 바닥 글을 제외하고 나는 그것을 말하지 않았다. (원하지 않는)

그래서 나는 그것이 LinearLayout에 없기 때문에 그것을 알아 낸다. 그래서 LinearLayoutitem1.xml으로 연기하려고했지만 더 이상 컴파일 할 수 없다.

내 꼬리표가 아닌 애니메이션을 클릭하여 내 행을 얻는 방법을 누군가에게 설명 할 수 있습니까? 당신은 배경색`

setBackgroundColor

를 설정했기 때문에

건배

답변

0

당신은 당신은 배경

편집으로 statelistDrawable를 설정해야합니다 색상을 클릭 점점되지 않습니다 너는 이런 식으로 무언가를 설정할 필요가있다

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/pressed_img" android:state_pressed="true"/> 
    <item android:drawable="@drawable/default_img"/> 
</selector> 
+0

나는 지금 바보 같은 느낌이 들었습니다. 하지만 문제는 내가 xml 파일에 setBackgroudColor가 있다는 것입니다. – Kalimero95

+0

고맙습니다. – Kalimero95