2013-04-29 5 views
0

Я новичок в android и в отчаянной потребности в помощи. Я успешно создал ListView с изображениями. Моя задача - когда я нажимаю на любой элемент списка, его описание должно появиться в правой части TableView в планшете. Без сомнения, это может быть достигнуто с помощью фрагментов. Но для использования фрагментов основной класс должен расширять класс Fragment, но моя проблема в том, что мой класс уже расширяет класс ListActivity. Что мне теперь делать?Как расширить класс ListActivity и класс Fragment с помощью Mainclass?

У меня есть три Java-файлы в моем проекте:
MainActivity.java [Это должно быть первым фрагментом],
CustomArrayAdapter.java и
Fragment2.java [Это должно быть второй фрагмент]

Здесь показан код

MainActivity.java

package com.example.mypractice; 
import android.app.ListActivity; 
import android.os.Bundle; 
public class MainActivity extends ListActivity { 
String[] menu = { 
"Internet", 
"Movies", 
"Songs", 
"Games", 
"News", 
"Menu", 
"Bill", 
"Call Waiter" 
}; 
Integer[] imageIDs = { 
R.drawable.pancake, 
}; 
@Override 
public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
CustomArrayAdapter adapter = new 
CustomArrayAdapter(this, menu, imageIDs); 
setListAdapter(adapter); 
} 
} 

CustomArrayAdapter.java

package com.example.mypractice; 
import android.app.Activity;  
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 
public class CustomArrayAdapter extends ArrayAdapter<String> { 
private final Activity context; 
private final String[] menu; 
private final Integer[] imageIds; 
public CustomArrayAdapter(Activity context, 
String[] presidents, Integer[] imageIds) { 
super(context, R.layout.lvrowlayout2, presidents); 
this.context = context; 
this.menu = presidents; 
this.imageIds = imageIds; 
} 
@Override 
public View getView(int position, View view, ViewGroup parent) { 
Log.d("CustomArrayAdapter",String.valueOf(position)); 
LayoutInflater inflater = context.getLayoutInflater(); 
View rowView= inflater.inflate(R.layout.lvrowlayout2, null, true); 
TextView txtTitle = (TextView) rowView.findViewById(R.id.txtPresidentName); 
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon); 
txtTitle.setText(menu[position]); 
imageView.setImageResource(imageIds[position]); 
return rowView; 
} 
} 

Fragment2.java

package com.example.mypractice; 
import android.app.ListActivity; 
import android.os.Bundle; 
public class Fragment2 extends ListActivity { 
String[] menu = { 
"PanCakes with Butter and Honey", 
"PanCakes with Butter and Honey", 
}; 
Integer[] imageIDs = { 
R.drawable.pancake, 
R.drawable.pancake, 
}; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.fragment2); 

this.setListAdapter(new ArrayAdapter<String>(
this, 
R.layout.lvrowlayout, 
R.id.txtPresidentName, 
presidents)); 
CustomArrayAdapter adapter = new 
CustomArrayAdapter(this, menu, imageIDs); 
setListAdapter(adapter); 
} 
} 

ответ

0

Деятельность не является фрагментом. Ваша деятельность должна быть содержит фрагменты. Предположим, что у вас есть основная активность, которая содержит фрагмент списка и фрагмент отображения изображения.

Смежные вопросы