나는 만들고있는 응용 프로그램의 메뉴 목록을 만들고 있습니다. 나는이 튜토리얼을 따라 그것을 만들었다 (필요에 따라 값을 변경) - http://www.ezzylearning.com/tutorial.aspx?tid=1763429.사용자 지정 목록에서 단일 행 재정의 또는 추가
이제 내 목록이 너무 복잡하지 않습니다. 매번 동일한 데이터를 가지며 두 개의 섹션 만 있습니다. 지금까지, 내 목록이 작동해야하지만 XML에서 다른보기/레이아웃 7 항목을 대체하거나에서 해당 뷰를 추가 할 필요가
현재 코드 ....
주요 활동 :.
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
public class HU_main extends Activity {
private ListView f_menu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hu_main);
Front_menu front_menu_data[] = new Front_menu[] {
new Front_menu("Cadences", "Reference chart of all the primary cadences."),
new Front_menu("Chords and Non-Chord Tones", "Reference chart of chord types and non-chord tones and associated rules of NCTs."),
new Front_menu("Key Signatures", "Reference chart for key signature rules."),
new Front_menu("Scale/Mode Triads", "List of triads and degrees for all standard diatonic scale modes."),
new Front_menu("Harmonic Progression", "Reference chart for scale and mode chord progressions."),
new Front_menu("Terminology Translation", "Reference list if primary music terms and instruments in German, Italian and French."),
new Front_menu("Replace", "Replace"),
new Front_menu("Chord Finder", "Enter notes to find chords."),
new Front_menu("Modulation", "Reference chart of chord types and non-chord tones and associated rules of NCTs."),
new Front_menu("Scale Finder", "Find scales and modes by notes."),
new Front_menu("Transposition", "Show changes to and from concert pitch for transposing instruments or determine overall transposition of key.")
};
Front_menuAdapter adapter = new Front_menuAdapter(this,
R.layout.item_layout, front_menu_data);
f_menu = (ListView)findViewById(R.id.f_menu);
f_menu.setAdapter(adapter);
}
}
Front_menuAdapter :
이import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class Front_menuAdapter extends ArrayAdapter<Front_menu> {
Context context;
int layoutResourceId;
Front_menu data[] = null;
public Front_menuAdapter(Context context, int layoutResourceId, Front_menu[] data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
Front_menuHolder holder = null;
if (row == null) {
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new Front_menuHolder();
holder.txtTitle1 = (TextView)row.findViewById(R.id.menu_item);
holder.txtTitle2 = (TextView)row.findViewById(R.id.item_description);
holder.header2 = (TextView)row.findViewById(R.id.tools_header);
row.setTag(holder);
if (position != 6) {
holder.txtTitle1.setVisibility(View.VISIBLE);
holder.txtTitle2.setVisibility(View.VISIBLE);
holder.header2.setVisibility(View.GONE);
}
else if (position == 6) {
holder.header2.setVisibility(View.VISIBLE);
holder.txtTitle1.setVisibility(View.GONE);
holder.txtTitle2.setVisibility(View.GONE);
}
}
else {
holder = (Front_menuHolder)row.getTag();
}
Front_menu front_menu = data[position];
holder.txtTitle1.setText(front_menu.item);
holder.txtTitle2.setText(front_menu.desc);
return row;
}
class Front_menuHolder {
TextView txtTitle1;
TextView txtTitle2;
TextView header2;
}
}
Front_menu (constructor):
public class Front_menu {
public String item;
public String desc;
public Front_menu() {
super();
}
public Front_menu(String item, String desc) {
super();
this.item = item;
this.desc = desc;
}
}
감사합니다, 나는이 시도됩니다. 위 어댑터에 자바를 추가해야합니까? –
또한 "feedType"은 (는) 무엇을 가리 킵니까? –
사실, 걱정하지 마세요. 어디에 넣을 지 알았습니다. 작동합니다. 고마워, 나는 그곳에서 단지 하나의 견해를 얻기 위해 말도 안되는 양의 코드를 부어 야한다고 생각했다. 나는 드로어 블을 제거하기 위해 비트를 약간 조정해야만하고, 원하는대로 정확하게 작동합니다. –