2013-02-23 3 views
0

웹 서비스에서 얻은 목록보기 데이터가 있습니다. 목록보기 항목을 클릭하면 세부 활동으로 이동합니다. 설명 및 이미지는 여기에 있습니다. nextbutton에 clcik 그것은 이전 버튼을 클릭하면 목록에있는 다음 항목으로 나를 데려 가야한다. 목록에있는 이전 항목으로 나를 데려가 라.하지만 다음/Pre 버튼을 클릭하면 ForceAdapter를 사용하고있다. BaseAdapter를 사용하고있다. 내 코드자세한 활동에서 이전/다음 버튼을 클릭하면 다음/이전 항목으로 이동합니다.

DetailedActivity

public class SampleDesp extends Activity { 

ArrayList<HashMap<String, String>> songsList; 
ListView list; 


    // JSON node keys 
    static final String KEY_URL_FOR_MAP = "url_site"; 
    private static final String KEY_TITLE = "title"; 
    private static final String KEY_SITEURL = "url"; 
    private static final String KEY_DATE = "date"; 
    private static final String KEY_NAME = "name"; 
    private static final String KEY_CONTENT = "content"; 
    private static final String KEY_URL = "url"; 
    static final String KEY_SLUG1= "slug"; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.sampledes); 
     ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>(); 
    // move up event handler 
     ImageButton preButton = (ImageButton) findViewById(R.id.prevButton); 

     preButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       movePre(); 
      } 
     }); 

     // move down event handler 
     ImageButton nxtButton = (ImageButton) findViewById(R.id.nextButton); 
     nxtButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       moveNxt(); 
      } 
     }); 

     ListView list = new ListView(this); 
     StationAdapter adapter1 = new StationAdapter(this, songsList);  
     list.setAdapter(adapter1); 


     // getting intent data 
     Intent in = getIntent(); 
     final String url1 = in.getStringExtra(KEY_URL); 

     ImageView imgv = (ImageView) findViewById(R.id.imgdesc); 
     ImageLoader imageLoader = new ImageLoader(getApplicationContext()); 
     imageLoader.DisplayImage(url1, imgv); 


     // Get JSON values from previous intent 
     String songsList1 = in.getStringExtra("song"); 
     int listPosition = in.getIntExtra("listPosition", 0); 
     final String title = in.getStringExtra(KEY_TITLE); 
     final String siteurl = in.getStringExtra(KEY_URL_FOR_MAP); 
     String date = in.getStringExtra(KEY_DATE); 
     String name = in.getStringExtra(KEY_NAME); 
     final String content = in.getStringExtra(KEY_CONTENT); 

     // Displaying all values on the screen 
     TextView lblName = (TextView) findViewById(R.id.name_label); 
     TextView lblUrl = (TextView) findViewById(R.id.url_label); 

     TextView lblCost = (TextView) findViewById(R.id.email_label); 
     TextView lblDesc = (TextView) findViewById(R.id.mobile_label); 
     TextView lblCont = (TextView) findViewById(R.id.content_label); 

     lblName.setText(title); 
     lblUrl.setText(siteurl); 
     lblCost.setText(date); 
     lblDesc.setText(name); 
     lblCont.setText(content); 
    }  

    private void movePre(){ 



     list.setSelection(list.getSelectedItemPosition() - 1); 
    } 




     // Move selected item "down" in the ViewList. 
     private void moveNxt(){ 

      list.setSelection(list.getSelectedItemPosition() + 1); 


     } 

StationAdapter되어 다음

class StationAdapter extends BaseAdapter{ 
    private static final String TAG = null; 
    private Activity activity; 
    private ArrayList<HashMap<String, String>> data; 
    private static LayoutInflater inflater=null; 
    public ImageLoader imageLoader; 

    public StationAdapter(Activity a, ArrayList<HashMap<String, String>> d) { 
     activity = a; 
     data=d; 
     inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     imageLoader=new ImageLoader(activity.getApplicationContext()); 
     Log.v(TAG, "Message here"); 
    } 



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

    public Object getItem(int position) { 
     return position; 
    } 

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

    public View getView(int position, View convertView, ViewGroup parent) { 
     View vi=convertView; 
     if(convertView==null) 
      vi = inflater.inflate(R.layout.myfragment_layout, null); 

     TextView title = (TextView)vi.findViewById(R.id.name_label); // title 
     TextView siteurl = (TextView)vi.findViewById(R.id.url_label); 
     TextView date = (TextView)vi.findViewById(R.id.email_label); // artist name 
     TextView content = (TextView)vi.findViewById(R.id.content_label); // duration 
     TextView name = (TextView)vi.findViewById(R.id.mobile_label); 
     // duration 
     ImageView thumb_image=(ImageView)vi.findViewById(R.id.imgdesc); // thumb image 

     HashMap<String, String> song = new HashMap<String, String>(); 
     song = data.get(position); 


     ListView list; 
     // Setting all values in listview 
     title.setText(song.get(MainActivity.KEY_TITLE)); 
     // siteurl.setText(song.get(MainActivity.KEY_SITEURL)); 
     date.setText(song.get(MainActivity.KEY_DATE)); 
     siteurl.setText(song.get(MainActivity.KEY_URL_FOR_MAP));// correct code 
     ((TextView)siteurl).setVisibility(TextView.INVISIBLE); 
     content.setText(song.get(MainActivity.KEY_CONTENT)); 
     name.setText(song.get(MainActivity.KEY_NAME)); 
     System.out.println("output: " +name); 
     imageLoader.DisplayImage(song.get(MainActivity.KEY_URL), thumb_image); 
     return vi; 
    } 
} 

로그 캣 오류

02-23 12:32:52.506: E/AndroidRuntime(894): FATAL EXCEPTION: main 
02-23 12:32:52.506: E/AndroidRuntime(894): java.lang.NullPointerException 
02-23 12:32:52.506: E/AndroidRuntime(894): at com.example.sampleofmain.SampleDesp.moveNxt(SampleDesp.java:137) 
02-23 12:32:52.506: E/AndroidRuntime(894): at com.example.sampleofmain.SampleDesp.access$1(SampleDesp.java:135) 
02-23 12:32:52.506: E/AndroidRuntime(894): at com.example.sampleofmain.SampleDesp$2.onClick(SampleDesp.java:82) 
02-23 12:32:52.506: E/AndroidRuntime(894): at android.view.View.performClick(View.java:2485) 
02-23 12:32:52.506: E/AndroidRuntime(894): at android.view.View$PerformClick.run(View.java:9080) 
02-23 12:32:52.506: E/AndroidRuntime(894): at android.os.Handler.handleCallback(Handler.java:587) 
02-23 12:32:52.506: E/AndroidRuntime(894): at android.os.Handler.dispatchMessage(Handler.java:92) 
02-23 12:32:52.506: E/AndroidRuntime(894): at android.os.Looper.loop(Looper.java:123) 
02-23 12:32:52.506: E/AndroidRuntime(894): at android.app.ActivityThread.main(ActivityThread.java:3683) 
02-23 12:32:52.506: E/AndroidRuntime(894): at java.lang.reflect.Method.invokeNative(Native Method) 
02-23 12:32:52.506: E/AndroidRuntime(894): at java.lang.reflect.Method.invoke(Method.java:507) 
02-23 12:32:52.506: E/AndroidRuntime(894): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
02-23 12:32:52.506: E/AndroidRuntime(894): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
02-23 12:32:52.506: E/AndroidRuntime(894): at dalvik.system.NativeStart.main(Native Method) 
+0

로그 고양이를 제공하는 것이 좋습니다. – RobinHood

답변

0

왜 당신이 목록 항목으로 이동 클릭에, 당신의 DetailActivity에있는 ListView를 사용하는 Detailactivity 및 클릭 된 항목의 위치 및 노래의 arraylist를 의도적으로 전달하면 이제 선택한 색인 노래에 대한 세부 정보 표시 및 다음 또는 이전 버튼 클릭시 arrylist에서 textview 또는 imgaeviews 값을 설정하면 완료됩니다.

+0

는 난 \t \t \t 개인 무효 MoveNext는() {내부 \t \t \t \t // TODO 자동 생성 방법 \t \t \t \t \t \t \t \t list.setSelection (list.getSelectedItemPosition()를 스터브 + 어떻게 배치해야 1); \t \t \t} }); – Tycoon

+0

moveNext 내 ArrayList에서 다음 항목 가져 오기 –

+0

님이보기를 업데이트 할 수 있도록 시도해 볼 수 있도록 예제 코드가 아직 없습니다. – Tycoon

관련 문제