我創建了一個基於this鏈接的可擴展列表視圖。它只是工作正常。現在,我想是Listview的子應該鏈接到另一個孩子
1)如何使一個childview鏈接另一個子子視圖
2)子子視圖應儘可能在窗口上一個新的列表視圖中打開(右側查看)是我的預期佈局。我google搜索,但無法找到如何實現這一目標。請幫助我實現這一點。提前致謝。
我創建了一個基於this鏈接的可擴展列表視圖。它只是工作正常。現在,我想是Listview的子應該鏈接到另一個孩子
1)如何使一個childview鏈接另一個子子視圖
2)子子視圖應儘可能在窗口上一個新的列表視圖中打開(右側查看)是我的預期佈局。我google搜索,但無法找到如何實現這一目標。請幫助我實現這一點。提前致謝。
那麼,你想讓你的第一個孩子擴展到另一個ListView嗎?或者,也許只是打開另一個包含匹配的ListView的Activity/Fragment?
如果你想要第一個,你可以爲Childview設計一個CustomLayout,在OnClick擴展它,並將其內容更改爲特定的ListView。
否則,您只需打開另一個ListView,數據取決於第一個列表中的哪個孩子被點擊。
嗯,我正在使用一些像這樣放大ChildViews點擊顯示詳細信息。
使用一個類來包裝我的數據命名行。這些行指示它們是否可點擊,如果是,則ListView將允許點擊行。點擊將由類本身處理,使顯示的文本更長(更詳細)。並且爲了重新佈局這些項目,您需要調用notifyDataSetChanged。
@Override
public void onClick(Context context, MyExpandableListAdapter mela) {
this.setBig(!isBig());
mela.notifyDataSetChanged();
}
所以,我會在父適配器的getView方法中處理行狀態(expanded/normal),以決定哪個childLayout我膨脹。
將looke像這樣
public View getView (args...) {
Object data = getItem(position);
if (data.isExpanded()) {
//inflate ListView Layout, create Addapter fill it....
} else {
//show some title or whatever to identify row.
}
}
我希望childview能夠擴展另一個列表活動,並且新活動應該位於上圖中所示的以前活動的版權位置。能否給我這個 – AndroidOptimist
的一個例子用一些示例代碼更新了我的答案。完成所有工作都太多了,但是這應該讓您知道如何繼續 –
感謝您的編輯。我會嘗試這個 – AndroidOptimist
你需要指定和處理onClick
事件的ListView
行項目。 然後,您會根據點擊的項目打開一個新的Activity
。 新活動的參數通過意向附加項提供,新活動可以使用這些值從雲中獲取數據或處理值以顯示特定結果。
我已經多次使用CustomAdapter
類來處理這種情況。
class Ocl implements OnClickListener{
@Override
public void onClick(View v) {
Intent intDetail = new Intent(getActivity(), PartDetail.class);
intDetail.putExtra(_ID, mParts[position].getSPr());
intDetail.putExtra(_LOT, mParts[position].getLotID());
intDetail.putExtra(_QTY, mParts[position].getQty());
intDetail.putExtra(_UID, mParts[position].getPartID());
startActivity(intDetail);
}
}
你能否更深入地解釋你想達到什麼目的?你想在屏幕上想象所有三個視圖嗎?或者你想爲每個你打開的子視圖創建一個新的活動? –
@RobertoLombardini是我現在明確的問題嗎? – AndroidOptimist
它比我想象的要複雜得多,但也比我想象的要複雜得多 –